【发布时间】:2011-05-31 04:14:42
【问题描述】:
我需要将当前标签保存在我的标签活动中。当我例如在标签 nr 3 上,接下来如果打开对话框并按后退按钮,它会将我带回 tab1。为了解决这个问题,我尝试创建 int currentPos,我在 onSaveInstanceState()/onPause 中将 getCurrentTab() 传递给它,并在 onResume() 方法中使用 setCurrenttab(currentPos) 读取它,但它不起作用:( 我试图将 currentPost 更改为 static - 然后它可以工作,但是我想这是一种丑陋的方式;/ 我会非常感谢任何帮助
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
saveState();
outState.putInt(CURRENT_TAB, getTabHost().getCurrentTab());
}
protected void onRestoreInstanceState(Bundle savedInstanceState){
currentTab = (savedInstanceState ==null) ? currentTab=0 :
savedInstanceState.getInt(CURRENT_TAB);
if(currentTab >=0){
getTabHost().setCurrentTab(currentTab);
}
}
protected void onPause() {
super.onPause();
saveState();
}
protected void onResume() {
super.onResume();
getTabHost().setCurrentTab(currentTab);
}
private void saveState(){
currentTab=getTabHost().getCurrentTab();
}
【问题讨论】:
标签: android