如何检测按键以及在SubMenu上按下了哪个关键用户? [用户按下的操作栏上的那个和长列表会下拉]
SubMenu subMenu1 = menu.addSubMenu("Option");
subMenu1.add("Comments");
subMenu1.add("More screens");
subMenu1.add("Copy Website URL");
subMenu1.add("Go to Website");
MenuItem subMenu1Item = subMenu1.getItem();
subMenu1Item.setIcon(R.drawable.icon_share);
subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
}
return true;
}
答案 0 :(得分:2)
我想你的意思是"用户选择的项目"在菜单中,而不是"用户按下哪个键"。您可以使用已有的onOptionsItemSelected()
方法提供操作。但之前,你必须......
按照此解决方案,更改以编程方式将项目添加到子菜单的方式:https://stackoverflow.com/a/9080046/1140682
或 define your menu and submenu in an XML file并使用MenuInflater
将项目添加到Activity
。
最后,只需使用itemId
方法中的add()
参数(第一个解决方案)或来自XML(第二个解决方案)的android:id
来决定switch
onOptionsItemSelected()
语句中的操作。