【问题标题】:Dont recreate fragment when changing device orientation with ViewPager使用 ViewPager 更改设备方向时不要重新创建片段
【发布时间】:2013-11-29 11:00:19
【问题描述】:

我有一个包含 ViewPager 的 Activity

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 方法上的异步任务。 但是,如果我更改设备方向,它将重新创建活动和所有片段。 如果我改变方向,如何保存我的 ArrayList 和 asynctask。 谢谢!

【问题讨论】:

    标签: android android-viewpager fragment


    【解决方案1】:

    android:configChanges="orientation"
    

    在清单文件中的 Activity 标记中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      相关资源
      最近更新 更多