I use this code, and my drawer is a global variable:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
navigationView.setNavigationItemSelectedListener(this);
//Use this code to set the starting fragment:
if(savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new VendasFragment()).commit();
navigationView.setCheckedItem(R.id.nav_vendas);
getSupportActionBar().setTitle(R.string.menu_vendas);
}
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
switch (item.getItemId()){
case (R.id.nav_vendas):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new VendasFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_vendas);
break;
case (R.id.nav_clientes):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new ClienteFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_clientes);
break;
case (R.id.nav_estoque):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new EstoqueFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_estoque);
break;
case (R.id.nav_estatistica):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new EstatisticaFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_estatistica);
break;
case (R.id.nav_fornecedores):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new FornecedorFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_fornecedores);
break;
case (R.id.nav_backup):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new BackupFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_backup);
break;
case (R.id.nav_config):
break;
case (R.id.nav_conta_receber):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new ContasReceberFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_contas_receber);
break;
case (R.id.nav_contas_pagar):
getSupportFragmentManager().beginTransaction().replace(R.id.fragments_container,
new ContasPagarFragment()).commit();
getSupportActionBar().setTitle(R.string.menu_contas_pagar);
break;
}
drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}