Как зарегистрировать ListView для контекстного меню при использовании настраиваемого ListView на основе BaseAdapter?
Я пытался registerForContextMenu(getListView());
, но, похоже, это не работает. Я использую ListView14.java из демоверсий API.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(new EfficientAdapter(this));
registerForContextMenu(getListView());
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.tag_context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.tagView:
// editNote(info.id);
return true;
case R.id.tagRename:
// deleteNote(info.id);
return true;
case R.id.tagDelete:
// deleteNote(info.id);
return true;
default:
return super.onContextItemSelected(item);
}
}