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