未调用Android 4.2 setOnMenuItemClickListener

时间:2013-02-14 18:26:19

标签: java android mobile android-4.2-jelly-bean

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上运行?

0 个答案:

没有答案