我尝试创建的应用程序是由 ViewPager
和 Fragments
组成的。
每个 Fragment
都有不同的数据,因为它们从 Database
中获取。
我将 Database 类从 Fragment Activity
发送到 FragmentStatePagerAdapter
内的 Fragment
。
以下是代码:
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return PageFragment.create(position, student, getApplicationContext(), mDbStudent);
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
mDbStudent 是数据库类。
我在 onCreate
中打开我的 mDbStudent。
并且当 onDestroy
时关闭我的 mDbStudent。
我的问题是,当屏幕方向改变时,mDbStudent
被销毁了,但是 fragment
仍然从数据库加载数据,因此会出现错误。
我尝试在 Fragment
的 onAttach
中获取 mDbStudent,但是当我快速移动页面时,日志显示我没有关闭 mDbStudent。
我的问题是:有没有一种方法可以处理屏幕方向改变时的 mDbStudent?
Context
没有问题。我的问题是何时关闭和打开mDbStudent
。你知道该如何处理吗? - Sieryuu