我正在使用新的导航组件库。我有一个导航抽屉,工作得很好。
如果我的用户登录,我想更改导航抽屉的菜单。具体来说,我想从片段中将"登录"项更改为"注销"。
我在网上找到的所有解决方案都没有使用导航组件。因此,他们推荐了这样的东西:
// Get the navigationView and swap the menu
NavigationView navigationView = view.findViewById(R.id.nav_view);
navigationView.getMenu().clear();
navigationView.inflateMenu(R.menu.activity_main_drawer_logged_in);
但是,这似乎在我的情况下不起作用(我无法从片段中获取导航视图(。如何使用导航组件实现这一点?
您可以通过界面从片段访问活动:
- 创建和接口说
LoginSuccessListener
在您的 Activity
中实现这一点
内部- 片段接收此侦听器内部
onAttach
- 根据需要使用它来更新
Navigation Menu