我对带有 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 上工作?