0

在这里,我正在开发一个应用程序,其中第一个用户必须通过 facebook 登录。为此,有一个带有登录按钮的登录活动。成功登录后,用户移动到选项卡活动,比如 A。选项卡小部件中还有两个活动,比如活动 B 和 C。现在,我要做的是当用户从活动 C 按下返回按钮时,用户应该移动到活动 B 和当用户从活动 B 按下返回按钮时,用户应该移动到活动 A。现在,当用户从活动 A 按下返回按钮时,用户应该移动到主屏幕或退出应用程序。现在再次,当用户按下应用程序图标启动应用程序时,用户应该直接移动到选项卡活动 A,而不是在具有登录按钮的登录活动上。我为注销创建了菜单按钮。当用户注销时,应该再次移动到登录活动......需要做什么?

4

2 回答 2

1

首先,如果用户登录,则保存一些设置,SharedPreference如果用户登录则检查设置,然后只需绕过ActivityA

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP).

如果用户已注销,则只需从SharedPreference. 对于后退按钮按下,您应该通过覆盖onBackPressed()功能覆盖后退按钮按下。在ActivityC 中onBackPressed()你应该调用

sharedPrefrence.putString("selected_tab", 1);

开始您的标签活动并在您的标签活动中your_tab_host.setCurrentTab(sharedPreferences.getString("selected_tab")

当在ActivityB inonBackPressed()你应该打电话

sharedPrefrence.putString("selected_tab", 0);

开始您的标签活动并在您的标签活动中

your_tab_host.setCurrentTab(sharedPreferences.getString("selected_tab")

最后当 In ActivityA inonBackPressed()那么你应该打电话finish()

于 2013-09-12T05:21:31.610 回答
0

在我的选项卡活动(TabViewLayout)中,我创建了方法,

public void switchTabBar(int tab) {
        tabHost.setCurrentTab(tab); 
    }

@Override
      public void onBackPressed() {
        // Called by children
        TabViewLayout.this.finish();
        }

在我的活动 A 中,

@Override
        public void onBackPressed() {
          this.getParent().onBackPressed();   
        }

在我的活动 B 中,

@Override
        public void onBackPressed() {
           TabViewLayout parentTab = (TabViewLayout) this.getParent();
         parentTab.switchTabBar(0); 
        }

在我的活动 C(最终活动)中,

 @Override
    public void onBackPressed() {
         TabViewLayout parentTab = (TabViewLayout) this.getParent();
         parentTab.switchTabBar(1);

    }
于 2013-09-12T05:58:31.203 回答