使用片段中的NavigationView项目

Sho*_*ohn 0 android android-fragments navigationview

我正在尝试在片段的onCreateView方法中执行下一个代码:

 if (displayedPalabra!=null){
        setCardAttributes(displayedPalabra);
        NavigationView navigationView = (NavigationView) layout.findViewById(R.id.nav_view);
        navigationView.getMenu().getItem(0).setChecked(true);
    }
Run Code Online (Sandbox Code Playgroud)

但是在执行时给出了下一个错误:

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'android.view.Menu android.support.design.widget.NavigationView.getMenu()'

我的问题是:Fragment的布局是否无法从MainActivity访问NavigationView并因此检索空值?我是否必须以其他方式访问它?代码应该是不言自明的,我只是试图在我的应用程序的NavigationView菜单中设置此Fragment的项目...通常我从MainActivity执行以放置默认值但这次从另一个片段调用此Fragment ...

小智 6

您的片段布局不包含R.id.nav_view,因为它位于活动布局内,而不是片段.使用getActivity()从您的活动中获取导航视图.