У меня есть ListView, который делает следующее:Как получить ListView идентификатор товара в контекстном меню
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent i = new Intent(this, TodoDetailActivity.class);
Uri todoUri = Uri.parse(MyTodoContentProvider.CONTENT_URI + "/" + id);
i.putExtra(MyTodoContentProvider.CONTENT_ITEM_TYPE, todoUri);
Toast.makeText(getApplicationContext(),""+id,Toast.LENGTH_SHORT).show();
startActivity(i);
}
Note, есть длинный идентификатор, который я использую, чтобы перейти к контент-провайдеру, чтобы открыть новый вид деятельности и отредактируйте «Todo», который связан с идентификатором.
Теперь я пытаюсь удалить «todo» через контекстное меню.
Однако, я не знаю, как получить идентификатор товара:
this.getListView().setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
@Override
public void onItemCheckedStateChanged(ActionMode actionMode, int i, long l, boolean b) {
//Not Used
}
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
MenuInflater inflater = actionMode.getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return false;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.menu_delete_multiple:
for (int i = adapter.getCount() - 1; i >= 0; i--) {
if (getListView().isItemChecked(i)) {
Toast.makeText(getApplicationContext(),""+i,Toast.LENGTH_SHORT).show();
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuItem.getMenuInfo();
Uri uri = Uri.parse(MyTodoContentProvider.CONTENT_URI+"/"+ what'sTHEIDE???);
getContentResolver().delete(uri, null, null);
}
}
fillData();
actionMode.finish(); // Action picked, so close the CAB
return true;
default:
return false;
}
}
@Override
public void onDestroyActionMode(ActionMode actionMode) {
actionMode = null;
}
});
В моей onActionItemClicked()
области, я предположил бы, что я мог бы получить тот же самый «длинный» идентификатор из списка. Что мне нужно вызвать, чтобы передать идентификатор в onActionItemClicked()
?
Как начинающий программист-программист, я немного ошеломлен.