Метод, описанный ниже, происходит, когда элемент в ListActivity
долго нажимается.Идея состоит в том, чтобы удалить этот элемент из базы данных, и для этого мне нужно позвонить mNotesAdapter.deleteNote(ID)
.Что отлично работает, если я не использую AlertDialog
;но я должен использовать один для подтверждения удаления.Но я не знаю, как передать информацию меню или сам идентификатор в метод onClick
.
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo();
switch (item.getItemId()) {
case R.id.contextmenu_item_remove:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to delete this note?");
builder.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
// VARIABLE menuInfo IS NOT ACCESSIBLE HERE, NOW WHAT?
mNotesAdapter.deleteNote(menuInfo.id);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder.show();
return true;
}
return super.onContextItemSelected(item);
}