菜单在片段中不可见
Posted
技术标签:
【中文标题】菜单在片段中不可见【英文标题】:Menu not visible in Fragment 【发布时间】:2018-10-08 01:21:52 【问题描述】:我有一个包含菜单的片段,我尝试在onCreate()
和onCreateView()
中调用setHasOptionsMenu(true);
,并将toolbar
设置为我的Actionbar
。我已经在这里解决了所有相同的问题,但似乎没有一个解决方案对我有用!我尝试更改主题,menu.clear(),并从 Activity 的onCreateOptions()
返回 true
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
setHasOptionsMenu(true);
// Inflating view layout
layout = inflater.inflate(R.layout.side_panel, container,false);
toolbar = layout.findViewById(R.id.toolbar);
((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
return layout;
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_side_panel,menu);
@Override
public boolean onOptionsItemSelected(MenuItem item)
return super.onOptionsItemSelected(item);
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState)
super.onActivityCreated(savedInstanceState);
【问题讨论】:
您可以尝试将您的工具栏移动到活动布局文件并对其进行膨胀并将其设置为 Activity onCreate 函数中的操作栏。在片段中尝试添加菜单选项。 No.... 我的菜单中有搜索选项 【参考方案1】:如果你已经在 XML 文件中声明了 Toolbar,那么试试这个 首先使用 findViewByid() 获取对 Toolbar 的引用,然后扩充您的菜单
mToolbar.inflateMenu(R.menu.main_menu);
【讨论】:
虽然此方法可用于显示我的菜单,但它对我没有用,因为我正在为我的搜索栏设置动画,但使用此方法不起作用 您的动画不起作用,因为您可能在开始时将动画视图设置为 View.GONE。尝试将其设置为 View.INVISIBLE 并查看动画是否播放。以上是关于菜单在片段中不可见的主要内容,如果未能解决你的问题,请参考以下文章