3

我对带有 ActionBarSherlock 的 Android 4.2 上的操作栏有疑问。我添加了一个操作栏菜单项,它使用 setOnMenuItemClickListener 来设置按钮操作。

    MenuItem mapButton = menu.findItem(R.id.show_map);

    mapButton.setOnMenuItemClickListener(new OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem item) {

            //Button implementation goes here
        }
    });

这在 Android 2.2 到 Android 4.1 上运行良好,但是在 Android 4.2 上 onMenuItemClick 根本不会被调用。

我试过添加这个

//Handles the map and route button in the options bar 
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.show_map:
        return false;
    case R.id.show_route:
        return false;
    default:
        return super.onOptionsItemSelected(item);
    }
}

按下按钮时确实会调用它,但似乎没有效果。我可以将按钮实现的代码移动到此函数中,但这需要我对程序的其他部分进行重大更改。有没有办法让 setOnMenuItemClickListener 在 Android 4.2 上工作?

4

0 回答 0