Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在屏幕旋转时保留视图寻呼机的片段?_Android_Android Fragments_Android Viewpager - Fatal编程技术网

Android 如何在屏幕旋转时保留视图寻呼机的片段?

Android 如何在屏幕旋转时保留视图寻呼机的片段?,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我有一个活动(extends FragmentActivity)。在活动的onCreate中,我动态创建片段。在片段的onCreate中,我设置了setRetainInstance(true)。我还调用AsyncTask.execute()从外部服务器加载一些列表。在AsyncTask的onPostExecute()中,我调用此- mAdapter = new MyAdapter(getChildFragmentManager()); mPager.setAdapter(mAdapter);

我有一个活动(extends FragmentActivity)。在活动的onCreate中,我动态创建片段。在片段的onCreate中,我设置了setRetainInstance(true)。我还调用AsyncTask.execute()从外部服务器加载一些列表。在AsyncTask的onPostExecute()中,我调用此-

mAdapter = new MyAdapter(getChildFragmentManager());
mPager.setAdapter(mAdapter);
ViewPager中的项数是这样创建的——我将整个列表分成10个条目的小列表,并将这些列表制作成一个listfragment并分配给pager

现在,当我旋转屏幕时,我的设备没有崩溃,只是屏幕变为完全白色。我查看了日志,发现在旋转屏幕后没有调用getItem()和getcount()。我使用的是FragmentStatePagerAdapter


我在SO上查找解决方案,但找不到合适的解决方案。如何在旋转屏幕后保留viewpager片段?

将此放入片段类中

setRetainInstance(true);

重新实例化
活动
后,您需要在
查看页面
上设置适配器类的实例。我在onActivityCreated Fragment方法中进行了此操作,但屏幕旋转应用程序崩溃了哦,所以您的
查看页面
在保留的
片段
中?这可能会产生一些影响。在任何情况下,发布崩溃日志可能会对这件事有所帮助。@corsair992-我在android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:579)@corsair992上遇到了空指针异常,我按照您的要求在viewpager上设置了适配器类的实例,但我遇到了空指针异常。