Приложения, которые я пытаюсь создать, составляют ViewPager
, тогда состоят из Fragments
.Ручка SQLiteOpenHelper при изменении ориентации
Каждый Fragment
имеет разные данные, потому что получил его от Database
.
Я отправляю класс базы данных от Fragment Activity
до Fragment
внутри FragmentStatePagerAdapter
.
Вот код:
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 класс базы данных.
Я открываю mDbStudent в onCreate
И я закрываю мой mDbStudent когда onDestroy
У меня есть проблема, когда изменения ориентации, mDbStudent
был разрушен но fragment
еще погрузка данные из базы данных, поэтому возникает ошибка.
Я пытаюсь получить mDbStudent в Fragment
когда onAttach
, но когда я перехожу страницы очень быстро, лог заявил, что я не закрывал mDbStudent
Мой вопрос Есть ли способ для обработки mDbStudent при изменении ориентации?
Спасибо за ваш ответ, я думаю, что у меня нет проблем с «Контекстом». Моя проблема в том, когда нужно закрыть и открыть «mDbStudent». Вы знаете, как с этим справиться? – Sieryuu
Измененный ответ. 'onUserLeaveHint()' отлично работает для этого. – 323go
Спасибо, но я открываю свою базу данных onCreate, когда изменение ориентации снова откроется. как это исправить? потому что если он откроется дважды, появится логарифм, я никогда не закрою DB – Sieryuu