У меня есть действие с пейджером просмотра, а во Фрагменте у меня есть табуляция и я помещаю фрагмент в табуляцию без пейджера просмотра.при привязке фрагмента к пейджеру и его перелистывании он меняет действие, но не фрагмент в макете, который он показывает пустым.
tabLayout = view.findViewById(R.id.productdetail_tab);
replaceFragment(new ProductDetails());
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
switch(tab.getPosition()){
case 0:
replaceFragment(new ProductDetails());
break;
case 1:
replaceFragment(new RelatedProducts());
break;
}
}
});
public void replaceFragment(Fragment fragment){
FragmentManager fm = getActivity().getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, fragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
}
Ниже приведен адаптер
public class ProductDetailsAdapterNew extends FragmentPagerAdapter {
public ProductDetailsAdapterNew(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch(position) {
case 1: return new FragmentProductDetails();
case 2: return new FragmentProductDetails2();
case 3: return new FragmentProductDetails3();
default: return new FragmentProductDetails();
}
}
@Override
public int getCount() {
return 3;
}
@Override
public int getItemPosition(@NonNull Object object) {
return super.getItemPosition(object);
}
}