При переходе андроид приложения в альбомную ориентацию при нажатии на любой пункт меню происходит вылет
ошибка в logcat
java.lang.NullPointerException: Attempt to invoke interface method 'void com.example.directoryzsu.NabItemSelectedListener.onNabItemSelectedListener(android.view.MenuItem)' on a null object reference
at com.example.directoryzsu.MenuListFragment$1.onNavigationItemSelected(MenuListFragment.java:51)
код
public class MenuListFragment extends Fragment {
private NabItemSelectedListener nabItemSelectedListener;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_menu, container,
false);
NavigationView vNavigation = (NavigationView) view.findViewById(R.id.vNavigation);
vNavigation.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
//Toast.makeText(getActivity(),menuItem.getTitle(),Toast.LENGTH_SHORT).show();
nabItemSelectedListener.onNabItemSelectedListener(menuItem);
return false;
}
}) ;
Menu m = vNavigation.getMenu();
for (int i=0;i<m.size();i++) {
MenuItem mi = m.getItem(i);
//для применения шрифта к подменю ...
SubMenu subMenu = mi.getSubMenu();
if (subMenu!=null && subMenu.size() > 0 ) {
for (int j=0; j <subMenu.size();j++) {
MenuItem subMenuItem = subMenu.getItem(j);
applyFontToMenuItem(subMenuItem);
}
}
//метод, который мы создали в действии
applyFontToMenuItem(mi);
}
return view ;
}
private void applyFontToMenuItem(MenuItem mi) {
if (getActivity() != null) {
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), getString(R.string.font2));
SpannableString mNewTitle = new SpannableString(mi.getTitle());
mNewTitle.setSpan(new CustomTypeFaceSpan("", font), 0, mNewTitle.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
mi.setTitle(mNewTitle);
}
}
public void setNabItemSelectedListener(NabItemSelectedListener nabItemSelectedListener) {
this.nabItemSelectedListener = nabItemSelectedListener;
}
}
проблема, я так понимаю, с (@NonNull)
@Override
public boolean onNavigationItemSelected(**@NonNull** MenuItem menuItem) {
//Toast.makeText(getActivity(),menuItem.getTitle(),Toast.LENGTH_SHORT).show();
nabItemSelectedListener.onNabItemSelectedListener(menuItem);
return false;
}