0

在我的应用程序中,我创建了一个登录会话。我有一个带有两个图标的 ActionBar,“home”和“login”。成功登录后,我想用字符串替换“登录”(例如,Welcome Dude!)。我是这样唤醒的:如果没有用户登录,则会显示一个操作栏,其中包含 HOME 和 ICON 项目。当用户登录时,会显示另一个操作栏。在这第二个操作栏中,我希望有 HOME 项目和欢迎信息。

那可能吗?

我还想在登录成功时创建一个项目并设置其文本,但我不能这样做。

谁能帮我?

4

1 回答 1

1

您可以覆盖onPrepareOptionsMenu(). 它适用于 ActionBarSherlock 库:

@Override
public boolean onPrepareOptionsMenu(Menu menu) 
{
    if(userIsLogged){
        getSupportMenuInflater().inflate(R.menu.menu_with_hello_string, menu);
    }
    else {
        getSupportMenuInflater().inflate(R.menu.menu_with_login_button, menu);
    }
    return super.onPrepareOptionsMenu(menu);
}

您只需要invalidateOptionsMenu();在用户登录时调用。

希望有帮助。

于 2012-12-12T16:41:11.200 回答