【发布时间】:2014-06-06 14:40:17
【问题描述】:
您好,我正在尝试从 Android 中的 onSaveInstanceState 或 Activity 的捆绑包中获取数据。
我希望获取捆绑数据中此属性 curTab 的值。
捆绑数据在这里:
Bundle[{android:viewHierarchyState=Bundle[{android:views={16908290=android.view.AbsSavedState$1@4178b1e8, 16908294=android.view.AbsSavedState$1@4178b1e8, 16908305=android.view.AbsSavedState$1@4178b1e8, 16908306=FragmentTabHost.SavedState{426e3158 curTab=parent2}, 16908307=android.view.AbsSavedState$1@4178b1e8, 16908310=android.view.AbsSavedState$1@4178b1e8, 2131492923=android.view.AbsSavedState$1@4178b1e8, 2131492993=android.view.AbsSavedState$1@4178b1e8, 2131493010=android.view.AbsSavedState$1@4178b1e8, 2131493204=android.view.AbsSavedState$1@4178b1e8, 2131493205=android.view.AbsSavedState$1@4178b1e8, 2131493206=android.view.AbsSavedState$1@4178b1e8, 2131493207=android.view.AbsSavedState$1@4178b1e8, 2131493208=android.view.AbsSavedState$1@4178b1e8, 2131493209=android.view.AbsSavedState$1@4178b1e8, 2131493210=android.widget.ProgressBar$SavedState@426e3140, 2131493211=android.view.AbsSavedState$1@4178b1e8}, android:focusedViewId=2131493221}], android:support:fragments=android.support.v4.app.FragmentManagerState@426e4770}]
我想像这样得到curTab,但我得到了空值。
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.d("Demo", outState.getString("curTab"));
}
编辑
@Override
public void onDestroy() {
super.onDestroy();
Log.d("Demo", "onDestroy");
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt("current_tab_selected", mTabHost.getCurrentTab());
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
int selectedTab = savedInstanceState.getInt("current_tab_selected");
Log.d("Demo", selectedTab + "");
}
@Override
public void onCreate(Bundle savedInstanceState) {
...
if(savedInstanceState != null) {
int selectedTabIndex = savedInstanceState.getInt("current_tab_selected");
mTabHost.setCurrentTab(selectedTabIndex);
}
}
请提前帮助和感谢。
【问题讨论】:
-
尝试在
super.onSaveInstanceState之前调用它 -
使用
putString("curTab","xyz");设置此curTab数据的位置 -
@TqT 不,它没有用
-
@LavekushAgrawal 我没有在任何地方设置它,但捆绑包含我想要检索的 curTab
标签: android