title: setNavigationItemSelectedListener Not Working
body: <p>My <code>NavigationView</code> <code>onClick</code> event is not working.</p>
  
  <p>Here are the code snippets I tried one by one, but nothing worked:</p>
  
  <ol>
  <li>Implementing <code>NavigationView.OnNavigationItemSelectedListener</code> using <code>OnClick()</code> Method</li>
  <li><p>Setting <code>NavigationItemSelectedListener</code> method</p>
  
  <pre><code>nav  = (NavigationView)findViewById(R.id.nav);
  nav.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
      @Override
      public boolean onNavigationItemSelected(MenuItem item) {
          Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
          return true;
      }
  });
  </code></pre></li>
  <li><p>Using <code>OnOptionItemSelected()</code> Method</p>
  
  <pre><code>@Override
  public boolean onOptionsItemSelected(MenuItem item) {
  if(toggle.onOptionsItemSelected(item))
  {
      return true;
  }
  switch (item.getItemId()) {
      case R.id.lib:
  
          Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
          return true;
  
      case R.id.fav:
          Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show();
  
          return true;
  }
  return super.onOptionsItemSelected(item);
  }
  </code></pre></li>
  </ol>
  
  <p>I also tried all these question and blogs relevant to my question but it didn't work.</p>
  
  <ol>
  <li><a href="https://stackoverflow.com/questions/40970755/navigation-drawer-setnavigationitemselectedlistener-is-not-working">Navigation Drawer: setNavigationItemSelectedListener is not working.</a></li>
  <li><a href="https://stackoverflow.com/questions/47242960/navigationview-setnavigationitemselectedlistener">https://stackoverflow.com/questions/47242960/navigationview-setnavigationitemselectedlistener</a></li>
  <li><a href="https://stackoverflow.com/questions/39424310/onnavigationitemselected-not-working-in-navigationview">onNavigationItemSelected not working in NavigationView</a></li>
  </ol>
  
  <p>Here is my Complete MainActivity.java file:</p>
  
  <pre><code>public class MainActivity extends AppCompatActivity{
  
  public frag_song song;
  public frag_artist artist;
  public  frag_album album;
  public TabLayout tab;
  Uri songUri;
  Cursor songCursor;
  public static LinearLayout mainLayout;
  int songTitle,songArtist,duration,data,songAlbum;
  public NavigationView nav;
  public DrawerLayout layout;
  public ActionBarDrawerToggle toggle;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
  
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      ActionBar actionBar = getSupportActionBar();
      actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME);
      //actionBar.setIcon(R.drawable.logo);
      mainLayout = (LinearLayout)findViewById(R.id.main);
  
      //All Stuff Of NAvigatin Drawer
      layout = (DrawerLayout)findViewById(R.id.drawerL);
      toggle = new ActionBarDrawerToggle(MainActivity.this,layout,R.string.open,R.string.close);
      layout.addDrawerListener(toggle);
      toggle.syncState();
      getSupportActionBar().setDisplayHomeAsUpEnabled(true);
      nav  = (NavigationView)findViewById(R.id.nav);
      nav.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
          @Override
          public boolean onNavigationItemSelected(MenuItem item) {
              Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();
              return true;
          }
      });//Not Working
      nav.setItemIconTintList(null);
  
      //check if app open first time or not
      SharedPreferences prefs = this.getSharedPreferences("com.blackhat.rhythmbox", Context.MODE_PRIVATE);
      Boolean first = prefs.getBoolean("first", true);
      if(first){
          //Adding song To  Database
          addtoDatabase();
          prefs.edit().putBoolean("first",false).commit();
      }
  
      //Decaring Object of Fragment
      //TO access Tab
      tab = (TabLayout)findViewById(R.id.tabs);
      song = new frag_song();
      artist = new frag_artist();
      album = new frag_album();
  
  
      //addding tab to tab layout
      tab.addTab(tab.newTab().setText("Songs"),true);
      tab.addTab(tab.newTab().setText("ALbum"));
      tab.addTab(tab.newTab().setText("Artist"));
  
      tab.getTabAt(0).setIcon(R.drawable.icons_song);
      tab.getTabAt(1).setIcon(R.drawable.icons_album);
      tab.getTabAt(2).setIcon(R.drawable.icon_artist);
      //setting default tab
          FragmentManager fm = getSupportFragmentManager();
          fm.beginTransaction().replace(R.id.frame_container,song).commit();
  
          //on tab select
          tab.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
              @Override
              public void onTabSelected(TabLayout.Tab tab) {
                  switch (tab.getPosition())
                  {
                      case 0 :
                          FragmentManager f_song = getSupportFragmentManager();
                          f_song.beginTransaction().replace(R.id.frame_container,song).commit();
                          break;
  
                      case 1 :
                          FragmentManager f_artist = getSupportFragmentManager();
                          f_artist.beginTransaction().replace(R.id.frame_container,album).commit();
                          break;
  
                      case 2 :
                          FragmentManager f_album = getSupportFragmentManager();
                          f_album.beginTransaction().replace(R.id.frame_container,artist).commit();
                          break;
                  }
  
              }
  
              @Override
              public void onTabUnselected(TabLayout.Tab tab) {
  
              }
  
              @Override
              public void onTabReselected(TabLayout.Tab tab) {
  
              }
          });
      }
  
  @Override
  protected void onStop() {
      super.onStop();
  }
  
  public void addtoDatabase(){
      song_db dbHelper = new song_db(getApplicationContext());
      SQLiteDatabase db = dbHelper.getWritableDatabase();
      ContentValues contentValues = new ContentValues();
  
      ContentResolver contentResolver = getContentResolver();
      songUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
      songCursor = contentResolver.query(songUri, null, null, null, null);
      //checking if cursor is null or not
  
      if(songCursor !=null &amp;&amp; songCursor.moveToFirst()){
          songTitle = songCursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
          songArtist = songCursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
          duration = songCursor.getColumnIndex(MediaStore.Audio.Media.DURATION);
          songAlbum = songCursor.getColumnIndex(MediaStore.Audio.Media.ALBUM);
          data = songCursor.getColumnIndex(MediaStore.Audio.Media.DATA);
          Toast.makeText(getApplicationContext(),"Loaded",Toast.LENGTH_SHORT).show();
          do{
              contentValues.put("name",songCursor.getString(songTitle));
              contentValues.put("artist",songCursor.getString(songArtist));
              contentValues.put("album",songCursor.getString(songAlbum));
              contentValues.put("path",songCursor.getString(data));
              contentValues.put("duration",songCursor.getString(duration));
              contentValues.put("isfavorite",0);
              contentValues.put("playlist","regular");
              // contentValues.put("name",songCursor.getString(songArtist));
              db.insert("songs",null,contentValues);
          }while (songCursor.moveToNext());
      }
  
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      if(toggle.onOptionsItemSelected(item))
      {
          return true;
      }
      return super.onOptionsItemSelected(item);
  }
  </code></pre>
  
  <p>}</p>