Я следую этому ответу на SO, который называется:
Изменять элементы NavigationView, когда пользователь входит в систему
Код работает нормально, но содержимое NavigationView
меняется, когда я перезапускаю приложение. Я хочу, чтобы содержимое менялось после того, как я нажму «Войти» или «Выйти» item menus
Это мой код в методе 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();
и вот метод 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;
}
}
Любая помощь будет принята с благодарностью! Благодарю вас
Примечание. Хотя этот вопрос кажется дублирующим некоторые, но это просто заголовок, содержание совершенно другое.