package com.duqing.missions.ui.main.hall; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import androidx.viewpager2.widget.ViewPager2; import com.duqing.missions.base.BaseFragment; import com.duqing.missions.base.FragmentAdapter; import com.duqing.missions.databinding.FragmentHallBinding; import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; public class HallFragment extends BaseFragment { private HallViewModel hallViewModel; @Override public void initViews() { hallViewModel = new ViewModelProvider(this).get(HallViewModel.class); hallViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { @Override public void onChanged(@Nullable String s) { } }); 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(); } }