我真的搞砸了Android ViewPager的生命周期,而我开始觉得有什么错我的应用程序的结构。 所以,我想确认我是否能做到以下几点:
- 我有一个展示一些标签的应用程序。 其中的一个标签的是呈现出ViewPager,其中在两个ListFragments。 这些ListFragments都在ViewPager的OnCreate事件创建。
- 当您在ListFragments之一单击一个项目,它是由不同的片段替换整个ViewPagerFragment(这是另一个ListFrament)。
下面是我用新的ListFragment更换ViewPager代码
FragmentManager fm = getFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, new RequestForm(requestsList.get(itemIndex)));
ft.addToBackStack(null);
ft.commit();
从那里,一切工作正常。 但是,如果用户单击后退按钮,我得到了以下情况:
- ViewPager是重装罚款(从onCreateView),但ListFragment内不会出现。 长得像我ListFragment的对象还活着,但似乎失去了他们的看法,并onCreateView不叫重新创建它(因为对象没有睡觉,而ViewPager出去)。
我不是在这里,现在张贴更多的代码,因为我的目的是要知道,如果我想要做的是确定或没有思想的一个Android的方式。 我将不得不对Android的SDK争取存档我想干什么?