我有三个活动:(ActivitySection
与FragmentSection
- 列表一起使用)、ActivityChapter
(与FragmentChapter
- 列表一起使用)和ActivityDetail
(与 一起使用FragmentDetail
)。
ActivityChapter
is a list 是根据从 中选择的项目的子列表ActivitySection
。因此,当用户从 移动ActivityChapter
到 时ActivityDetail
,我存储选择部分名称,以便当他按下(在操作栏上)时,我可以恢复所选部分名称并使用相同的子列表填充片段内容。
这是我保存值的代码:
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(Konstant.KEY_SAVED_SECTION, mStrSelectedSection);
}
这是我恢复值的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null)
if (savedInstanceState.containsKey(Konstant.KEY_SAVED_SECTION))
mStrSelectedSection = savedInstanceState.getString(Konstant.KEY_SAVED_SECTION);
}
当我从ActivityChapter
to移动时ActivityDetail
,onSaveInstanceState()
被调用并mStrSelectedSection
具有正确的值。当我从 回来时ActivityDetail
,onCreate()
ofActivityChapter
被称为但savedInstanceState
is null
。
所以,我无法填充相同的子列表。
谁能告诉我我做错了什么?