Saya mengikuti jawaban ini di SO, yang berjudul:
Ubah item NavigationView saat pengguna login
Kode berfungsi dengan baik tetapi konten NavigationView
berubah ketika saya memulai ulang aplikasi. Saya ingin isinya diubah setelah saya klik Login atau Logout item menus
Ini kode saya dalam metode onCreate()
:
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
if(islogin())
{
navigationView.getMenu().clear();
navigationView.inflateMenu(R.menu.activity_main_drawer1);
} else
{
navigationView.getMenu().clear();
navigationView.inflateMenu(R.menu.activity_main_drawer2);
}
navigationView.setNavigationItemSelectedListener(this);
toggle.syncState();
dan inilah metode islogin()
:
public boolean islogin(){
// Retrieve data from preference:
prefs = getSharedPreferences("UserLoginData", MODE_PRIVATE);
String username = prefs.getString("username", null);
if (username == null) {
return false;
}
else{
return true;
}
}
Bantuan apa pun akan sangat dihargai! Terima kasih
Catatan: Meskipun beberapa pertanyaan ini tampak duplikat, tetapi hanya judulnya, isinya sama sekali berbeda.