在link1和link2的帮助下,我为我的两个列表视图创建了一个 ContextMenu,如下所示
final int DELETE = 0;
final int CANCEL = 1;
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
super.onCreateContextMenu(menu, v, menuInfo);
switch(v.getId()){
case R.id.history_listView:
menu.setHeaderTitle("Delete History?");
menu.add(0, DELETE, 0, "Delete");
menu.add(0, CANCEL, 0, "Cancel");
break;
case R.id.bookmark_listView:
menu.setHeaderTitle("Delete Bookmark?");
menu.add(0, DELETE, 0, "Delete");
menu.add(0, CANCEL, 0, "Cancel");
}
}
现在我想要两个 onContextItemSelected 方法,一个用于历史记录,另一个用于书签。我为历史创建了一个,效果很好。
@Override
public boolean onContextItemSelected(MenuItem item){
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()){
case DELETE:
String deleteSelectedHistory = (String) historyData.get(info.position);
historyData.remove(info.position);
historyAdapter.notifyDataSetChanged();
break;
case CANCEL:
break;
}
return false;
}
但我无法为书签创建另一个。在同一个活动中是否可以有另一个 onContextItemSelected 方法?或者有没有办法创建第二个?