我创建了TabActivity,它有两个带有两个活动的标签。 一个是登录标签,另一个是欢迎标签。
除非登录成功,否则用户不应该进入欢迎选项卡。如果他尝试选择欢迎选项卡,则会将其投掷到登录tab.i使用tabHost.setcurrenttab(index)。
但是当我点击直接欢迎标签时,它第一次正常工作。当我再次快速单击选项卡时,它会打开欢迎选项卡。
这是我的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.product_list);
SharedPreferences mPreference = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
username = mPreference.getBoolean("valid", false);
Toast.makeText(this, "In Create", Toast.LENGTH_SHORT).show();
//login sucessful
tabActivity.switchTab(0);
}
on onResume,我重复相同的代码。
答案 0 :(得分:0)
在TabActivity中尝试此操作。这是为了防止用户在没有登录的情况下切换标签。(我现在没时间检查它,如果代码有任何问题,请告诉我):
SharedPreferences mPreference;
....onCreate(){
...
mPreference = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String arg0) {
username = mPreference.getBoolean("valid", false);
if(user is logged in){
tabHost.setcurrenttab(0);//welcome page
}
else{
tabHost.setcurrenttab(1);//login page
}
}
});
...
}