Как правильно загрузить данные из базы данных в ViewPager

Рейтинг: 2Ответов: 1Опубликовано: 03.04.2015

Мне надо, чтобы при открытии ViewPager из базы данных загружались данные только в тот фрагмент, на котором я сейчас нахожусь, а не во все фрагменты ViewPager'a. Как это можно сделать?

Ответы

▲ 1

Начинайте загрузку данных не в onCreateView() фрагмента, а в переопределенном методе setUserVisibleHint():

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser && данныеЕщёНеЗагружены) {
        startLoadData();
    }
}

ViewPager выполняет setUserVisibleHint(true) каждый раз при показе фрагмента и false при его скрытии.