我真的搞砸了Android ViewPager的生命周期,我开始认为我的应用程序结构有问题。如果我能做到以下几点,我想要确认:
以下是我用新的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();
从那里,一切都运转良好。但是,如果用户单击后退按钮,我会遇到以下情况:
我现在不在这里发布更多代码,因为我的目的是知道我想要做的事情是不是以Android的思维方式做好。我是否必须与Android SDK进行对抗以存档我想要做的事情?
答案 0 :(得分:23)
嗯,正如您所看到的,我不是Android用户(我对iOS上的UI了解得更多)。这就是为什么我感到困惑。
在查看不同的应用程序后,我发现Gmail和Google Play的导航看起来有点像我的(用新片段替换ViewPager,而不创建新活动)。
对于我的问题,这不是一个结构问题。创建FragmentStatePagerAdapter时,请确保使用getChildFragmentManager()而不是getFragmentManager()!
ViewPagerAdapter adapter = new ViewPagerAdapter(getChildFragmentManager());