检测ActionBarSherlock SubMenu上的KeyPress

时间:2013-01-15 02:32:57

标签: android android-actionbar actionbarsherlock submenu

如何检测按键以及在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;
}

1 个答案:

答案 0 :(得分:2)

我想你的意思是"用户选择的项目"在菜单中,而不是"用户按下哪个键"。您可以使用已有的onOptionsItemSelected()方法提供操作。但之前,你必须......

最后,只需使用itemId方法中的add()参数(第一个解决方案)来自XML(第二个解决方案)的android:id来决定switch onOptionsItemSelected()语句中的操作。