完成标签活动

时间:2013-09-12 05:09:55

标签: android tabs facebook-android-sdk

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

2 个答案:

答案 0 :(得分:1)

首先,如果用户已登录,请在SharedPreference中保存一些设置,如果用户已登录则检查设置,然后通过

旁路到Activity A

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

如果用户已注销,则只需从SharedPreference删除已登录的设置即可。对于后退按钮,您应该通过覆盖onBackPressed()功能覆盖后退按钮按下。在Activity中的onBackPressed() C中,您应该致电

sharedPrefrence.putString("selected_tab", 1);

启动标签活动并在标签活动中your_tab_host.setCurrentTab(sharedPreferences.getString("selected_tab")

Activity中的onBackPressed() B中你应该致电

sharedPrefrence.putString("selected_tab", 0);

启动标签活动并在标签活动中

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

最后在Activity中的onBackPressed() A中,您应该致电finish()

答案 1 :(得分: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);

    }