package com.duqing.missions.ui.main.hall; import androidx.annotation.NonNull; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.base.FragmentAdapter; import com.duqing.missions.base.fragments.BaseFragment; import com.duqing.missions.base.fragments.BaseTabFragment; import com.duqing.missions.databinding.FragmentHallBinding; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class HallFragment extends BaseTabFragment { @Override public void initViews() { super.initViews(); final String[] titles = new String[]{"全部","人气","简单","高价"}; final FragmentAdapter fragmentAdapter = new FragmentAdapter(activity); fragmentAdapter.addFragment(new SubHallFragment()); fragmentAdapter.addFragment(new SubHallFragment()); fragmentAdapter.addFragment(new SubHallFragment()); fragmentAdapter.addFragment(new SubHallFragment()); //设置当前可见Item左右可见page数,次范围内不会被销毁 //禁用预加载 binding.viewPager2.setOffscreenPageLimit(ViewPager2.OFFSCREEN_PAGE_LIMIT_DEFAULT); binding.viewPager2.setAdapter(fragmentAdapter); binding.viewPager2.setCurrentItem(0); binding.viewPager2.setUserInputEnabled(false); //true:滑动,false:禁止滑动 TabLayoutMediator mediator = new TabLayoutMediator(binding.tabLayout, binding.viewPager2, new TabLayoutMediator.TabConfigurationStrategy() { @Override public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) { tab.setText(titles[position]); } }); mediator.attach(); } @Override protected List initTabTitles() { return new ArrayList<>(Arrays.asList(new String[]{"全部","人气","简单","高价"})); } @Override protected List initFragments() { List list = new ArrayList<>(); list.add(new SubHallFragment()); list.add(new SubHallFragment()); list.add(new SubHallFragment()); list.add(new SubHallFragment()); return list; } }