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