【发布时间】:2016-08-24 18:53:41
【问题描述】:
我正在关注this 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;
}
}
任何帮助将不胜感激!谢谢你
注意:虽然这个问题看起来有些重复,但只是标题,内容完全不同。
【问题讨论】:
标签: android navigation-drawer android-sharedpreferences