0

when running my code it displays the error Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.material.navigation.NavigationView.setCheckedItem(int)' on a null object reference. This following code is the mainactivity.java class which shows the error. I wonder if anyone who help me as soon as ?

package com.example.health_guide;
        import androidx.annotation.NonNull;
        import androidx.annotation.Nullable;
        import androidx.appcompat.app.ActionBarDrawerToggle;
        import androidx.appcompat.app.AlertDialog;
        import androidx.appcompat.widget.Toolbar;
        import androidx.core.view.GravityCompat;
        import androidx.appcompat.app.AppCompatActivity;
        import androidx.drawerlayout.widget.DrawerLayout;
        import android.content.DialogInterface;
        import android.content.Intent;
        import android.os.Bundle;
        import android.os.PersistableBundle;
        import android.view.MenuItem;
        import android.view.View;
        import android.widget.ImageButton;
        import android.widget.Toast;
        import com.google.android.material.navigation.NavigationView;
    
    public class MainActivity extends AppCompatActivity {
        private Toolbar mtoolbar;
        NavigationView nav;
        ActionBarDrawerToggle toggle;
        DrawerLayout tDrawer;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mtoolbar = findViewById(R.id.tlbar);
            setSupportActionBar(mtoolbar);
            getSupportActionBar().setTitle(null);
    
    
            tDrawer=(DrawerLayout)findViewById(R.id.drawer_layout);
            nav=(NavigationView)findViewById(R.id.nav_view);
    
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, tDrawer,mtoolbar,
                    R.string.navigation_drawer_open, R.string.navigation_drawer_close);
            tDrawer.addDrawerListener(toggle);
            toggle.syncState();
    
            getSupportFragmentManager().beginTransaction().replace(R.id.container,new homFragment()).commit();
            nav.setCheckedItem(R.id.nav_home);
    
            nav.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(MenuItem item) {
                    switch (item.getItemId()) {
                        case R.id.nav_home:
                            getSupportFragmentManager().beginTransaction().replace(R.id.container,
                                    new homFragment()).commit();
                            break;
                        case R.id.nav_profile:
                            getSupportFragmentManager().beginTransaction().replace(R.id.container,
                                    new AboutUS()).commit();
                            break;
    
                        case R.id.nav_share:
                            Toast.makeText(MainActivity.this, "Share", Toast.LENGTH_SHORT).show();
                            break;
                        case R.id.nav_Exit:
                            AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                            builder.setMessage("Do you want to Exit?");
                            builder.setCancelable(false);
    
                            builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    finishAffinity();
                                }
                            });
                            builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.cancel();
                                }
                            });
                            AlertDialog alertDialog=builder.create();
                            alertDialog.show();
                            break;
                    }
    
                    tDrawer.closeDrawer(GravityCompat.START);
                    return true;
                }
            });
        }
    
        @Override
        public void onBackPressed() {
            if (tDrawer.isDrawerOpen(GravityCompat.START)) {
                tDrawer.closeDrawer(GravityCompat.START);
            } else {
                super.onBackPressed();
            }
        }
    

0 Answers0