Example #1
0
  @SuppressWarnings("StatementWithEmptyBody")
  @Override
  public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    Fragment switchTo = null;
    // TODO: Fix which nav item is selected when changing between fragments
    switch (item.getItemId()) {
      case R.id.nav_status:
        switchTo = StatusFragment.newInstance();
        break;
      case R.id.nav_view_data:
        switchTo = new ViewDataFragment();
        break;
    }

    if (switchTo != null) {
      mCurrentFragment = switchTo;
      android.support.v4.app.FragmentTransaction ft =
          getSupportFragmentManager().beginTransaction();
      ft.replace(R.id.fragment_container, mCurrentFragment);

      // Manage back stack
      for (int i = 0; i < getSupportFragmentManager().getBackStackEntryCount(); i++) {
        getSupportFragmentManager().popBackStackImmediate();
      }

      ft.commit();
    }

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
  }