如何在Android片段中添加操作栏选项菜单

我正在尝试在Android Fragments中设置一个选项菜单操作栏选项菜单未显示在我的片段中

这是我的代码,我有oncreateoptions菜单()onOptionSelected()函数。我的代码没有显示任何错误。但“选项”菜单不显示

package org.reachout;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.LinearLayout;
导入组织general.R;
公共类ViewMessageFragment扩展了片段{
/*(非Javadoc)
*@see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater、android.view.ViewGroup、android.os.Bundle)
*/
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
if(容器==null){
//我们有不同的布局,在其中一个
//片段的包含帧不存在。该片段
//仍然可以从其已保存状态创建,但是
//没有理由尝试创建其视图层次结构,因为
//不会显示。请注意,这不是必需的--我们可以
//只需运行下面的代码,我们将在其中创建并返回
//视图层次结构;它永远不会被使用。
返回null;
}
返回(线性布局)充气器。充气(R.layout.viewmessages\u tab\u fragment\u布局,容器,false);
}
@凌驾
创建选项菜单(菜单菜单,菜单充气机){
//TODO自动生成的方法存根
super.onCreateOptions菜单(菜单,充气机);
充气机。充气(右菜单。askexperts_菜单,菜单);
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理项目选择
开关(item.getItemId()){
案例R.id.action\u设置:
//做s.th。
返回true;
违约:
返回super.onOptionsItemSelected(项目);
}
}   
}

您需要在onCreate()中调用设置选项菜单(true)

为了向后兼容,最好将此调用尽可能晚地放在onCreate()的末尾,或者更晚地放在onActivityCreated()或类似的内容中

见:https://developer.android.com/reference/android/app/Fragment.html#setHasOptionsMenu(布尔值)

发表评论