Android上点击项目菜单不起作用

时间:2014-02-26 16:16:17

标签: android android-fragments android-actionbar android-menu

以下是我片段中的代码

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Log.e("aaa", "ee");
        switch (item.getItemId()) {
        case R.id.edit:
            Log.e("sssssss","SSSSSSSSSSSSSSs");
            Intent editIntent = new Intent(getActivity(),
                    EditCustomerProfile.class);
            //startActivityForResult(editIntent, EditProfile);
            startActivity(editIntent);
            break;
        default:
            break;
        }
        return super.onOptionsItemSelected(item);
    }

我可以在操作栏中看到菜单项。

我像这样夸大菜单:

@Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        int currentTab = mViewPager.getCurrentItem();
        if (currentTab == 1) {
            menu.clear();
            inflater.inflate(R.menu.all_addresses, menu);
        } else if (currentTab == 0) {
            menu.clear();
            inflater.inflate(R.menu.profile, menu);
        }
        return super.onPrepareOptionsMenu(menu);
    }

我说的是个人资料菜单

但是当我点击编辑时,没有任何反应,即使日志不能正常工作

1 个答案:

答案 0 :(得分:2)

您似乎正在通过活动创建菜单,但正在尝试拦截片段中的菜单项选择。

为了使片段包含在onOptionItemSelected()的调用堆栈中,您应该确保该片段在其各自的hasOptionsMenu(true)中调用了onCreate()