如何在上下文菜单上使用 onContextItemSelected 单击 android
How to use onContextItemSelected on contextmenu click android
我有一个 contextmenu
但我想 运行 一些 函数 或 方法 当点击contextmenu
的 items
。
我有 google 可用,一些教程显示了 onContextItemSelected(MenuItem item)
方法,但他们使用 if(item.getTitle() == 'Action1'){}
用于以下目的,但我不能使用它!
因为
这么用很不规范!
obj.getname()
某些 contextmenu
项可能会有所不同 运行
相同 method
代码
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
CNList obj = (CNList)v.getTag();
int subs = obj.getsubstance();
menu.setHeaderTitle(obj.getname());
switch(subs){
case 0:
menu.add(0, v.getId(), 0, "Invite");
menu.add(0, v.getId(), 0, "Call " + obj.getname());
break;
case 1:
menu.add(0, v.getId(), 0, "Add");
menu.add(0, v.getId(), 0, "Send a Message");
menu.add(0, v.getId(), 0, "Block " + obj.getname());
break;
case 2:
menu.add(0, v.getId(), 0, "Add");
menu.add(0, v.getId(), 0, "Block " + obj.getname());
break;
case 3:
menu.add(0, v.getId(), 0, "Send a Message");
menu.add(0, v.getId(), 0, "Block " + obj.getname());
break;
}
}
你的意思是这样?
public boolean onContextItemSelected(MenuItem item) {
if (item.getGroupId() == UNIQUE_FRAGMENT_GROUP_ID) {
switch(item.getItemId()) {
case MENU_OPTION_1: doSomething(); break;
case MENU_OPTION_2: doSomethingElse(); break;
}
}
我有一个 contextmenu
但我想 运行 一些 函数 或 方法 当点击contextmenu
的 items
。
我有 google 可用,一些教程显示了 onContextItemSelected(MenuItem item)
方法,但他们使用 if(item.getTitle() == 'Action1'){}
用于以下目的,但我不能使用它!
因为
这么用很不规范!
obj.getname()
某些contextmenu
项可能会有所不同 运行 相同method
代码
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
CNList obj = (CNList)v.getTag();
int subs = obj.getsubstance();
menu.setHeaderTitle(obj.getname());
switch(subs){
case 0:
menu.add(0, v.getId(), 0, "Invite");
menu.add(0, v.getId(), 0, "Call " + obj.getname());
break;
case 1:
menu.add(0, v.getId(), 0, "Add");
menu.add(0, v.getId(), 0, "Send a Message");
menu.add(0, v.getId(), 0, "Block " + obj.getname());
break;
case 2:
menu.add(0, v.getId(), 0, "Add");
menu.add(0, v.getId(), 0, "Block " + obj.getname());
break;
case 3:
menu.add(0, v.getId(), 0, "Send a Message");
menu.add(0, v.getId(), 0, "Block " + obj.getname());
break;
}
}
你的意思是这样?
public boolean onContextItemSelected(MenuItem item) {
if (item.getGroupId() == UNIQUE_FRAGMENT_GROUP_ID) {
switch(item.getItemId()) {
case MENU_OPTION_1: doSomething(); break;
case MENU_OPTION_2: doSomethingElse(); break;
}
}