Android setOffscreenPageLimit(int)不';不要在屏幕旋转上工作

Android setOffscreenPageLimit(int)不';不要在屏幕旋转上工作,android,android-viewpager,Android,Android Viewpager,我正在尝试保存查看页面中包含的表单数据。当我处于横向模式时,它工作正常,但当我旋转屏幕时,所有数据都消失了,字段再次为空。如何处理 我在其中调用viewpager的片段: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.infla

我正在尝试保存
查看页面
中包含的表单数据。当我处于
横向
模式时,它工作正常,但当我旋转屏幕时,所有数据都消失了,字段再次为空。如何处理

我在其中调用viewpager的片段:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.activity_main,
                container, false);
mViewPager = (ViewPager)rootView.findViewById(R.id.pager);
        mAdapter = new MyFragmentPagerAdapter1(getChildFragmentManager());
        mViewPager.setOffscreenPageLimit(6); 

        new setAdapterTask().execute();
        return rootView;
    }
private class setAdapterTask extends AsyncTask<Void,Void,Void>{
          protected Void doInBackground(Void... params) {
                return null;
            }

            @Override
            protected void onPostExecute(Void result) {
                       mViewPager.setAdapter(mAdapter);
            }
    }

您是否尝试过使用
setRetainInstance(true)
保留
片段的实例?

解决方案只是将数据保存在
onSaveInstanceState(Bundle outState)
中,并将其加载到创建的
视图中

您应该设置
setRetainInstance(true)
在您的
片段
声明中。我也尝试了,我得到了无法保留嵌套在其他片段中的片段的命令,例外情况为什么要使用AsyncTask?你的
片段是否在另一个
片段中?您可以发布更多代码吗?为了在包含在主/详细流中的片段中显示viewpager,
AsyncTask
主要用于在其
doInBackground()上执行后台任务。你没有使用它
onPostExecute()
在UI
线程上运行,因此它与直接从
onCreateView()
@Override
    public Fragment getItem(int arg0) {


        switch (arg0) {
        case 0:
            Part1 p1= new Part1();
            p1.setRetainInstance(true);
            return p1;
        case 1:
            return new part2();
        default:
            return null;
        }
    }