我试图在片段的onCreateView方法中执行下一个代码:
if (displayedPalabra!=null){
setCardAttributes(displayedPalabra);
NavigationView navigationView = (NavigationView) layout.findViewById(R.id.nav_view);
navigationView.getMenu().getItem(0).setChecked(true);
}
但是在执行时给了我下一个错误:
java.lang.NullPointerException:尝试调用虚方法 ' android.view.Menu android.support.design.widget.NavigationView.getMenu()'在null 对象参考
我的问题是:片段中的布局是否无法从MainActivity访问NavigationView并因此检索空值?我是否必须以其他方式访问它?代码应该是不言自明的,我只是试图在我的应用程序的NavigationView菜单中设置这个Fragment的项目...通常我从MainActivity执行以设置默认值但是此片段是从这次是另一个片段......
答案 0 :(得分:6)
您的片段布局不包含R.id.nav_view,因为它位于活动布局内,而不是片段。使用getActivity()获取活动的导航视图。