在 Fragment 中使用 NavigationView 项目
Working with NavigationView items within a Fragment
我正在尝试在我的 Fragment 的 onCreateView 方法中执行下一个代码:
if (displayedPalabra!=null){
setCardAttributes(displayedPalabra);
NavigationView navigationView = (NavigationView) layout.findViewById(R.id.nav_view);
navigationView.getMenu().getItem(0).setChecked(true);
}
但是在执行时给我下一个错误:
java.lang.NullPointerException: Attempt to invoke virtual method
'android.view.Menu
android.support.design.widget.NavigationView.getMenu()' on a null
object reference
我的问题是:Fragment 中的布局是否无法从 MainActivity 访问 NavigationView 并因此检索到空值?我是否必须以某种方式以其他方式访问它?代码应该是不言自明的,我只是想在我的应用程序的 NavigationView 菜单中设置这个 Fragment 的项目...通常我从 MainActivity 做它来放置默认的但是这次这个 Fragment 是从另一个片段调用的...
您的片段布局不包含 R.id.nav_view,因为它在 activity 布局内,而不是片段。使用 getActivity() 从您的 activity 获取导航视图。
我正在尝试在我的 Fragment 的 onCreateView 方法中执行下一个代码:
if (displayedPalabra!=null){
setCardAttributes(displayedPalabra);
NavigationView navigationView = (NavigationView) layout.findViewById(R.id.nav_view);
navigationView.getMenu().getItem(0).setChecked(true);
}
但是在执行时给我下一个错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Menu android.support.design.widget.NavigationView.getMenu()' on a null object reference
我的问题是:Fragment 中的布局是否无法从 MainActivity 访问 NavigationView 并因此检索到空值?我是否必须以某种方式以其他方式访问它?代码应该是不言自明的,我只是想在我的应用程序的 NavigationView 菜单中设置这个 Fragment 的项目...通常我从 MainActivity 做它来放置默认的但是这次这个 Fragment 是从另一个片段调用的...
您的片段布局不包含 R.id.nav_view,因为它在 activity 布局内,而不是片段。使用 getActivity() 从您的 activity 获取导航视图。