0
私が望むのは、ユーザーがコンテキストに接触するときです。メニューは「削除」という項目で表示されますが、これは問題ありません。 Sqlitは Activity.class(それは私がちょうどクリックした連絡先に対応)sqliteから行を削除する(コンテキストメニュー)
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int i = info.position;
switch (item.getItemId()) {
case R.id.delete:
dbHandler.deleteEtudiant(i);
Toast.makeText(this,"deleted "+i, Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
MyDBHandler.class
あなたのコードの問題は、あなたが「AdapterContextMenuInfo」オブジェクトのIDを取得しているということであるpublic void deleteEtudiant(int i)
{
SQLiteDatabase db = this.getWritableDatabase();
db.delete("etudiant", "Id+ =" + i, null);
}
私はこのtutoをチェックしようとしています!私はちょうどクリックした要素のIDを得ることができますか? –
IDを取得するには、まずアイテムを取得する必要があります。あなたはあなたのアダプターに配列を与えておく必要があります。あなたは、アダプタから位置を取得し、その特定の位置に配列から特定の行を取得する必要があります。今度はその行からIDを取得できます。 –
どうすればいいですか? –