Есть 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;
}
Комментариев нет:
Отправить комментарий