From f7d36b0f2c254a048905ae27c9e421427eb0f2c8 Mon Sep 17 00:00:00 2001 From: Administrator <123> Date: Thu, 04 Nov 2021 02:04:19 +0000 Subject: [PATCH] tablayout 框架 分页加载框架 --- app/src/main/java/com/duqing/missions/ui/main/hall/HallFragment.java | 37 ++++++++++++++++++++++++------------- 1 files changed, 24 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/duqing/missions/ui/main/hall/HallFragment.java b/app/src/main/java/com/duqing/missions/ui/main/hall/HallFragment.java index 325e471..9127bf2 100644 --- a/app/src/main/java/com/duqing/missions/ui/main/hall/HallFragment.java +++ b/app/src/main/java/com/duqing/missions/ui/main/hall/HallFragment.java @@ -1,29 +1,25 @@ 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.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; -public class HallFragment extends BaseFragment<FragmentHallBinding> { +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; - private HallViewModel hallViewModel; +public class HallFragment extends BaseTabFragment<FragmentHallBinding,HallViewModel> { + @Override public void initViews() { - hallViewModel = new ViewModelProvider(this).get(HallViewModel.class); - hallViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() { - @Override - public void onChanged(@Nullable String s) { - } - }); + super.initViews(); final String[] titles = new String[]{"全部","人气","简单","高价"}; final FragmentAdapter fragmentAdapter = new FragmentAdapter(activity); fragmentAdapter.addFragment(new SubHallFragment()); @@ -36,7 +32,7 @@ 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() { + 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]); @@ -46,4 +42,19 @@ } + + @Override + protected List<String> initTabTitles() { + return new ArrayList<>(Arrays.asList(new String[]{"全部","人气","简单","高价"})); + } + + @Override + protected List<BaseFragment> initFragments() { + List<BaseFragment> list = new ArrayList<>(); + list.add(new SubHallFragment()); + list.add(new SubHallFragment()); + list.add(new SubHallFragment()); + list.add(new SubHallFragment()); + return list; + } } \ No newline at end of file -- Gitblit v1.9.1