Android 4.2上的操作栏与ActionBarSherlock存在问题。我添加了一个操作栏菜单项,它使用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上运行?