本文介绍了片段内的 onCreateOptionsMenu的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已将 setHasOptionsMenu(true) 放在 onCreateView 内,但我仍然无法在片段内调用 onCreateOptionsMenu.

I have placed setHasOptionsMenu(true) inside onCreateView, but I still can't call onCreateOptionsMenu inside fragments.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
   setHasOptionsMenu(true);
   return inflater.inflate(R.layout.facesheet, container, false);
}

下面是我的 onCreateOptionsMenu 代码.

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    getSupportMenuInflater().inflate(R.menu.layout, menu);
    return (super.onCreateOptionsMenu(menu));
}

我得到的错误信息:

Fragment 类型的方法 onCreateOptionsMenu(Menu) 必须覆盖或实现超类型方法.

推荐答案

试试这个,

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_sample, menu);
    super.onCreateOptionsMenu(menu,inflater);
}


最后,在 onCreateView 方法中,添加这一行以使选项出现在您的 Toolbar


Finally, in onCreateView method, add this line to make the options appear in your Toolbar

setHasOptionsMenu(true);

这篇关于片段内的 onCreateOptionsMenu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-22 09:09