我有一个包含两个片段的Master-Detail活动:“A”(主)和“B”(细节),每个片段在自己的工具栏中都有自己的菜单选项。 B使用CoordinatorLayout和Material Material效果。
如何在每个工具栏中添加不同的菜单?每当我要求充气时,他们都会复制两个片段中的菜单。即A具有1和2.B具有3和4.在产生片段后,A具有1,2,3,4并且B具有1,2,3,4。看到问题:
我想将搜索和标记图标放在左侧片段的工具栏中,将电话和邮件图标放在右侧片段的工具栏中。
答案 0 :(得分:0)
片段有自己的方式告诉活动他们有自己的选项菜单,所以当你决定是否应该在Master中并排显示两个片段时,Detail方式传递一个额外告诉Fragment使用它的菜单然后执行:
setHasOptionsMenu(true)
,告诉活动调用onCreateOptionsMenu(Menu menu, MenuInflater menuInflater)
。onCreateOptionsMenu(Menu menu, MenuInflater menuInflater)
并处理onOptionsItemSelected(MenuItem menuItem)
否则在未使用Master Detail时使用setHasOptionsMenu(false)
,并使用托管Master或Detail Fragments的每个Activity来膨胀菜单