使用ViewPager更改设备方向时,请勿重新创建片段

时间:2013-11-29 11:00:19

标签: android android-viewpager fragment

我有一个包含ViewPager的活动

public class TestActivity extends FragmentActivity {
    ViewPager mViewPager;
    PagerAdapter mPagerAdapter;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pager_layout);
        mPagerAdapter = new PagerAdapter(getSupportFragmentManager());
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mPagerAdapter);
    }

}

在getItem方法的适配器中创建片段

@Override
public Fragment getItem(int pos) {
    PageFragment tabFrag = new PageFragment();
    Bundle args =  new Bundle();
    args.putInt("gen", pos);
    tabFrag.setArguments(args);
    return tabFrag;
}

我的片段包含一个ArrayList,它在片段的OnCreate方法上填充了一个asynctask。 但是,如果我改变设备方向,它将重新创建活动和所有片段。 如果我改变方向,我怎样才能保存我的ArrayList和asynctask。 谢谢!

1 个答案:

答案 0 :(得分:1)

android:configChanges="orientation"

在清单文件的活动代码中