0

我有三个活动:(ActivitySectionFragmentSection- 列表一起使用)、ActivityChapter(与FragmentChapter- 列表一起使用)和ActivityDetail(与 一起使用FragmentDetail)。

ActivityChapteris 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);
}

当我从ActivityChapterto移动时ActivityDetailonSaveInstanceState()被调用并mStrSelectedSection具有正确的值。当我从 回来时ActivityDetailonCreate()ofActivityChapter被称为但savedInstanceStateis null

所以,我无法填充相同的子列表。

谁能告诉我我做错了什么?

4

0 回答 0