I don't know why I always get this Nullpointer exception:
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.material.navigation.NavigationView.setNavigationItemSelectedListener(com.google.android.material.navigation.NavigationView$OnNavigationItemSelectedListener)' on a null object reference
at com.sys.photolocations.start_and_navigate.onCreate(start_and_navigate.java:32)
I overworked the code like five times but I still can't find the error :/ I also tried not implementing NavigationView.OnNavigationItemSelectedListener and instead of navigationView.setNavigationItemSelectedListener(this) I used navigationView.setNavigationItemSelectedListener(new OnNavigationItemSelectedListener......
but it still didn't work. Any ideas?
public class start_and_navigate extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
//Navigationbar
private DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//NAVIGATIONBAR
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawerLayout = findViewById(R.id.drawlayout);
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar,
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
if (savedInstanceState == null){
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new Map_Fragment()).commit();
navigationView.setCheckedItem(R.id.nav_map);}
}
@Override
public void onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.nav_add:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new Add_Location_Fragment()).commit();
break;
case R.id.nav_bug_report:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new Bug_Fragment()).commit();
break;
case R.id.nav_map:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new Map_Fragment()).commit();
break;
case R.id.nav_profile:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new Profile_Fragment()).commit();
break;
case R.id.nav_settings:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new Settings_Fragment()).commit();
break;
}
drawerLayout.closeDrawer(GravityCompat.START);
return true;
}
}
XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawlayout"
android:fitsSystemWindows="true"
tools:context=".start_and_navigate">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#C9C9C9"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:elevation="4dp"/>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/nav_view"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/draw_menu"/>
</androidx.drawerlayout.widget.DrawerLayout>
question from:https://stackoverflow.com/questions/65648552/nullpointer-on-navigationview