I am trying to setup a click listener in my menu which inside of a navigation view inside a fragment- I want to set the listener inside of my fragment as well
I am getting the error
"Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.support.design.widget.NavigationView.setNavigationItemSelectedListener(android.support.design.widget.NavigationView$OnNavigationItemSelectedListener)' on a null object reference"
When I try to run this code
public class FragmentNavigationDrawer extends Fragment implements NavigationView.OnNavigationItemSelectedListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NavigationView navigationView = (NavigationView) getActivity().findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
return inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
}
Anyone know how to solve this issue? thanks
Check these two lines in your onCreateView:
NavigationView navigationView = (NavigationView) getActivity().findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
You are getting NullPointerException because navigationView object is null. Check whether you are providing a valid id for your NavigationView. Check your XML part whether id for NavigationView is same as nav_view or different.
Try below code. Replace getACtivity with getView()
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
return inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
NavigationView navigationView = (NavigationView) getView().findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With