问题描述
假设我有以下导航图:
在 homeFragment
中,我有一个菜单项,用户可以在其中注销应用程序。如果用户导航到另一个视图(在本例中为 hostGameFragment
或 joinGameFragment
),如预期的那样,菜单项会消失。
但是,我在 profileFragment
中有另一个菜单项,它是 bottomNavigationView
的 homeFragment
的子片段。该菜单项切换用户是否可以编辑他的个人资料。正如预期的那样,如果用户更改 bottomNavigationView
中的片段,它就会消失。当用户在个人资料选项卡上并导航到 hostGameFragment
或 joinGameFragment
时,问题就会出现。在这种情况下,即使不应该,编辑菜单项也会保留在操作栏上。
如何确保编辑菜单不会出现在 homeFragment
之外?
编辑菜单项按如下方式创建:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setHasOptionsMenu(true)
}
override fun onCreateOptionsMenu(menu: Menu,inflater: MenuInflater) {
super.onCreateOptionsMenu(menu,inflater)
if (viewmodel.isEditable) {
inflater.inflate(R.menu.profile_fragment_menu,menu)
}
}
override fun onoptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_edit -> {
viewmodel.toggleEditing()
true
}
else -> super.onoptionsItemSelected(item)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)