我有一个问题,其中setVisible(true)没有执行任何操作。我在导航栏中有一个“退出”菜单,单击该菜单应将用户注销,隐藏“退出”菜单,然后再次显示“登录”,但这似乎不起作用。设置.setVisible(true)无效。
在onCreate()(MainActivity)上,我有这个:
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
然后:
@Override
public boolean onNavigationItemSelected(MenuItem item)
{
int id = item.getItemId();
if (id == R.id.nav_sign_in)
{
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
else if (id == R.id.nav_sign_out)
{
manager.logout();
swipeContainer.setEnabled(false);
getNavigationMenu().findItem(R.id.nav_sign_in).setVisible(true);
getNavigationMenu().findItem(R.id.nav_sign_out).setVisible(false);
getNavigationMenu().findItem(R.id.ticketsGroup).setVisible(false);
this.tickets.clearTickets();
recreate();
}
else if(id == R.id.nav_create_ticket)
{
Intent intent = new Intent(this, CreateTicket.class);
startActivity(intent);
}
else if(id == R.id.nav_user_guide)
{
Intent intent = new Intent(this, HelpActivity.class);
startActivity(intent);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
getNavigationMenu()。findItem(R.id.nav_sign_in).setVisible(true);不起作用。任何想法可能是什么原因造成的?
非常感谢您。