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/home/HomeFragment.java |   45 +++++++--------------------------------------
 1 files changed, 7 insertions(+), 38 deletions(-)

diff --git a/app/src/main/java/com/duqing/missions/ui/main/home/HomeFragment.java b/app/src/main/java/com/duqing/missions/ui/main/home/HomeFragment.java
index 346c357..2b6198a 100644
--- a/app/src/main/java/com/duqing/missions/ui/main/home/HomeFragment.java
+++ b/app/src/main/java/com/duqing/missions/ui/main/home/HomeFragment.java
@@ -8,83 +8,52 @@
 import android.view.ViewGroup;
 import android.widget.TextView;
 
-import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
-import com.duqing.missions.base.BaseFragment;
+import com.duqing.missions.base.fragments.BaseLoadPageFragment;
+import com.duqing.missions.data.BasePageResult;
 import com.duqing.missions.databinding.FragmentHomeBinding;
 import com.duqing.missions.ui.login.view.LoginActivity;
 import com.duqing.missions.ui.main.home.adapter.MissionAdapter;
 import com.duqing.missions.ui.main.home.adapter.MissionTopAdapter;
 import com.duqing.missions.ui.main.home.model.MissionDesc;
-import com.scwang.smart.refresh.footer.ClassicsFooter;
-import com.scwang.smart.refresh.header.ClassicsHeader;
-import com.scwang.smart.refresh.layout.SmartRefreshLayout;
-import com.scwang.smart.refresh.layout.api.RefreshLayout;
-import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener;
 
 import java.util.List;
 
-public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
+public class HomeFragment extends BaseLoadPageFragment<FragmentHomeBinding,HomeViewModel,MissionAdapter, BasePageResult<String>> {
 
-    private HomeViewModel homeViewModel;
     final String TAG = "HomeFragment";
 
 
     @Override
     public void initViews() {
-        homeViewModel = new ViewModelProvider(this).get(HomeViewModel.class);
+        super.initViews();
         binding.textSearch.setOnClickListener(v -> startActivity(new Intent(getContext(), LoginActivity.class)));
-        final SmartRefreshLayout smartRefresh = binding.smartRefresh;
-        smartRefresh.setRefreshHeader(new ClassicsHeader(getContext()));
-        smartRefresh.setRefreshFooter(new ClassicsFooter(getContext()));
         final  TextView textView = binding.textRecommend;
         RecyclerView recyclerClassify = binding.recyclerClassify;
         RecyclerView recyclerTop = binding.recyclerTop;
-        final RecyclerView recyclerRecommend = binding.recyclerRecommend;
-        recyclerRecommend.setLayoutManager(new LinearLayoutManager(getContext()));
         LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
         layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
         recyclerClassify.setLayoutManager(layoutManager);
         recyclerTop.setLayoutManager(new GridLayoutManager(getContext(),3));
-        smartRefresh.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
-            @Override
-            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
-                homeViewModel.onLoadMore();
-            }
-
-            @Override
-            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                homeViewModel.onRefresh();
-            }
-        });
         final MissionTopAdapter topAdapter = new MissionTopAdapter();
         recyclerTop.setAdapter(topAdapter);
-        final MissionAdapter recommendAdapter = new MissionAdapter();
-        recyclerRecommend.setAdapter(recommendAdapter);
-        homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
-            @Override
-            public void onChanged(@Nullable String s) {
-                textView.setText(s);
-            }
-        });
-        homeViewModel.getTopMissions().observe(getViewLifecycleOwner(), new Observer<List<MissionDesc>>() {
+        viewModel.getTopMissions().observe(getViewLifecycleOwner(), new Observer<List<MissionDesc>>() {
             @Override
             public void onChanged(List<MissionDesc> missionDescs) {
                 smartRefresh.finishRefresh();
                 topAdapter.setData(missionDescs);
             }
         });
-        homeViewModel.getRecommendMissions().observeForever(new Observer<List<MissionDesc>>() {
+        viewModel.getRecommendMissions().observeForever(new Observer<List<MissionDesc>>() {
             @Override
             public void onChanged(List<MissionDesc> missionDescs) {
                 smartRefresh.finishLoadMore();
-                recommendAdapter.setData(missionDescs);
+                adapter.setData(missionDescs);
             }
         });
     }

--
Gitblit v1.9.1