//实例化
public static FoodFragment newInstance(){
Bundle args = new Bundle();
FoodFragment fragment = new FoodFragment();
fragment.setArguments(args);
return fragment;
}
FragmentHomeBinding fragmentHomeBinding;
List<Fragment> fragmentList = new ArrayList<>();
ArrayList<CustomTabEntity> customTabEntities = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
fragmentHomeBinding = DataBindingUtil.inflate(inflater,R.layout.fragment_home,container,false);
initData();
MyHomeAdapter myHomeAdapter = new MyHomeAdapter(getActivity(),fragmentList);
fragmentHomeBinding.vp2.setAdapter(myHomeAdapter);
//点击商品fragment切换
fragmentHomeBinding.ctlHome.setOnTabSelectListener(new OnTabSelectListener() {
@Override
public void onTabSelect(int position) {
fragmentHomeBinding.vp2.setCurrentItem(position);
}
@Override
public void onTabReselect(int position) {
}
});
fragmentHomeBinding.vp2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int position) {
super.onPageSelected(position);
fragmentHomeBinding.ctlHome.setCurrentTab(position);
}
@Override
public void onPageScrollStateChanged(int state) {
super.onPageScrollStateChanged(state);
}
});
return fragmentHomeBinding.getRoot();
}
private void initData() {
fragmentList.add(ShopFragment.newInstance());
fragmentList.add(GuanzhuFragment.newInstance());
fragmentList.add(TuijianFragment.newInstance());
customTabEntities.add(new MyCustomEntity("商城",0,0));
customTabEntities.add(new MyCustomEntity("关注",0,0));
customTabEntities.add(new MyCustomEntity("推荐",0,0));
fragmentHomeBinding.ctlHome.setTabData(customTabEntities);
}
public static HomeFragment newInstance(){
Bundle args = new Bundle();
HomeFragment homeFragment = new HomeFragment();
homeFragment.setArguments(args);
return homeFragment;
}