如何检测按键以及用户在 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;
}
最佳答案
我想你的意思是菜单中的“用户选择了哪个项目”,而不是“用户按下了哪个键”。您可以在已有的 onOptionsItemSelected()
方法中提供操作。但在此之前,你必须...
Either 按照以下解决方案稍微更改您以编程方式将项目添加到子菜单的方式:https://stackoverflow.com/a/9080046/1140682
或 define your menu and submenu in an XML file并使用
MenuInflater
将项目添加到您的Activity
。
最后,只需使用 add()
方法中的 itemId
参数(第一个解决方案)或 android:id
从 XML(第二种解决方案)中决定 onOptionsItemSelected()
的 switch
语句中的操作。
关于android - 在 ActionBarSherlock 子菜单上检测按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14330270/