Обновить текущий фрагмент ViewPager

Интерфейс, диалоги, темы, стили, меню
Ответить
defun
Сообщения: 15
Зарегистрирован: 28 июн 2014, 20:31

Обновить текущий фрагмент ViewPager

Сообщение defun » 02 фев 2017, 03:12

Есть ViewPager и в нем табы с RecyclerView. На элементе RecyclerView есть значек избранного, при нажатии на который он должен поменять свой вид. На данный момент получается, что при нажатии на этот элемент значение для него в базе меняется, а вот на экране все остается без изменений. Для FragmentStatePagerAdapter есть метод который обновляет содержимое ViewPager adapter.notifyDataSetChanged();. Но у меня не получается вызвать его из текущего фрагмента. Просьба помочь.

Код: Выделить всё

public class ViewPagerPhraseAdapter extends FragmentStatePagerAdapter {
    private  List<Fragment> mFragmentList = new ArrayList<>();
    private  List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerPhraseAdapter(FragmentManager fm) {
        super(fm);
    }

    // Возвращает фрагмент для отображения для этой страницы
    @Override
    public Fragment getItem(int position) {
        return PhraseFragmentTabPager.newInstance(position, mFragmentTitleList.get(position));
    }

    // Возвращает общее количество страниц
    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    // Возвращает заголовок страницы для верхнего индикатора
    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }

    // собирает данные фрагментов
    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
    
}

Ответить