Страницы

Поиск по вопросам

пятница, 1 февраля 2019 г.

Как заменить фрагмент в ViewPager?

Есть ViewPager, ViewPagerAdapter,TabLayout и три фрагмента Fagment1, Fragment2, Fragment3. ViewPager отображает 2 фрагмента.
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); ViewPagerAdapter mVPAdapter = new ViewPagerAdapter(getSupportFragmentManager()); mVPAdapter.addFrag(new Fragment_1(), ""); mVPAdapter.addFrag(new Fragment_2(), ""); viewPager.setAdapter(mVPAdapter); tabLayout = (TabLayout) findViewById(R.id.tabs); tabLayout.setupWithViewPager(viewPager);
Как заменить Fragment 1 на 3 динамически?


Ответ

Создайте метод замены фрагмента в адаптере. Сделайте адаптер расширяющим FragmentStatePagerAdapter Сразу после замены фрагмента вызовите mVPAdapter.notifyDataSetChanged() Добавьте в адаптер вот этот метод:
@Override public int getItemPosition(Object object) { return POSITION_NONE; }

Комментариев нет:

Отправить комментарий