Was ich will ist, wenn der Benutzer klickt auf Kontakt ein Kontextmenü erscheint mit Element "löschen" so habe ich dies getan, aber das Problem ist, ich möchte, dass er auf eine Zeile löschen klickt Sqlit (das mit dem Kontakt entspricht klickte ich gerade) Activity.classZeile von sqlite löschen (Kontextmenü)
@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
public void deleteEtudiant(int i)
{
SQLiteDatabase db = this.getWritableDatabase();
db.delete("etudiant", "Id+ =" + i, null);
}
ich werde diesen tuto überprüfen! Danke, aber wie kann ich die ID des Elements bekommen, auf das ich gerade geklickt habe? –
Um die ID zu erhalten, müssen Sie zuerst das Element erhalten. Sie müssen Ihrem Adapter ein Array zugewiesen haben. Sie müssen die Position vom Adapter erhalten und die bestimmte Zeile aus dem Array an dieser bestimmten Position abrufen. Jetzt können Sie die ID aus dieser Zeile abrufen. –
Wie kann ich das tun? –