Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 导航组件:导航抽屉开关菜单(针对登录用户)_Java_Android_Navigation_Android Architecture Navigation - Fatal编程技术网

Java 导航组件:导航抽屉开关菜单(针对登录用户)

Java 导航组件:导航抽屉开关菜单(针对登录用户),java,android,navigation,android-architecture-navigation,Java,Android,Navigation,Android Architecture Navigation,我正在使用新的导航组件库。我有一个导航抽屉,工作非常好 如果我的用户登录,我想更改导航抽屉的菜单。具体地说,我想将片段中的“Login”项更改为“Logout” 我在网上找到的所有解决方案都没有使用导航组件。因此,他们建议如下: //获取导航视图并交换菜单 NavigationView NavigationView=view.findViewById(R.id.nav_视图); navigationView.getMenu().clear(); 导航视图。充气菜单(右菜单。活动\u主\u抽屉\u

我正在使用新的导航组件库。我有一个导航抽屉,工作非常好

如果我的用户登录,我想更改导航抽屉的菜单。具体地说,我想将片段中的“Login”项更改为“Logout”

我在网上找到的所有解决方案都没有使用导航组件。因此,他们建议如下:

//获取导航视图并交换菜单
NavigationView NavigationView=view.findViewById(R.id.nav_视图);
navigationView.getMenu().clear();
导航视图。充气菜单(右菜单。活动\u主\u抽屉\u登录);

但是,这在我的情况下似乎不起作用(我无法从片段中获取navigationView)。如何使用导航组件实现这一点?

您可以通过以下界面从片段访问活动

  • 创建一个接口,并说
    loginsucesslistener
  • 在您的
    活动中实现此功能
  • 内部片段在内部接收此侦听器
    onAttach
  • 根据需要使用它来更新
    导航菜单

  • 您刚刚让我意识到,我可以使用geacitivity().findViewById获取导航视图并更改该视图。