我已经login
在操作项上设置了,如下图所示。每当用户点击登录时,login screen
都会显示。每当用户输入凭据并登录时,我都会完成 loginActivity 并将其重定向到其他屏幕,此外,我还将使用name of the user
操作栏上的登录替换。
每当用户单击返回按钮时,它会返回再次显示的主页
login
,但不会username
在操作栏上显示。那么,我该如何改变这一点。每当用户单击他的用户名时,都会显示一个下拉列表,其中存在注销选项。每当用户单击注销选项时,我想使用登录选项更新操作栏,但它仍然显示用户名。
有人可以帮我解决这两个问题吗?代码片段表示赞赏。
public abstract class HomeActivity extends SherlockActivity {
protected static boolean mIsLoginButton = false;
protected static String user_name = "";
protected static boolean mIsUserLoggedIn = false;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if(mIsLoginButton)
{
menu.add("Login")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
else if(mIsUserLoggedIn)
{
SubMenu subMenu1 = menu.addSubMenu(user_name);
subMenu1.add(0, 3 , 0, "Log out");
MenuItem subMenu1Item = subMenu1.getItem();
subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case 0:
if(mIsLoginButton)
{
Intent intent = new Intent(HomeActivity.this,LoginActivity.class);
startActivity(intent);
}
return true;
case 3:
Toast.makeText(getApplicationContext(), "clicked on logout", Toast.LENGTH_SHORT).show(); // Case 3 which is logout condition. So what should I do here to update the current activity.
LogManager.logoutUser();
return true;
}
return false;
}