login
下の画像のようにアクションアイテムにを設定しました。ユーザーがログインをクリックするたびに、login screen
が表示されます。ユーザーがクレデンシャルを入力してログインするたびに、loginActivityを終了して他の画面にリダイレクトします。さらに、ログインをname of the user
アクションバーのに置き換えます。
ユーザーが[戻る]ボタンをクリックすると、ホームページに戻ります。ホームページは再び表示されますが、アクションバーには表示され
login
ません。username
では、どうすればこれを変更できますか。ユーザーが自分のユーザー名をクリックするたびに、ログアウトオプションが表示されるドロップダウンリストが表示されます。ユーザーがログアウトオプションをクリックするたびに、ログインオプションでアクションバーを更新したいのですが、それでもユーザー名が表示されます。
誰かが私がこれらの2つの問題を解決するのを手伝ってくれますか?コードスニペットは大歓迎です。
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;
}