From dadbf7a3fd20a8e0dc7e0601f30a2f696cc9fc6e Mon Sep 17 00:00:00 2001 From: Administrator <123> Date: Thu, 11 Nov 2021 02:40:05 +0000 Subject: [PATCH] 完成登录接口接入demo --- app/src/main/java/com/duqing/missions/ui/main/home/HomeFragment.java | 55 +++++++++++++++++-------------------------------------- 1 files changed, 17 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..df1092d 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,62 @@ 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.HomeClassifyAdapter; 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.Classify; 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); + HomeClassifyAdapter homeClassifyAdapter = new HomeClassifyAdapter(); + recyclerClassify.setAdapter(homeClassifyAdapter); 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); + } + }); + viewModel.getClassifies().observeForever(new Observer<List<Classify>>() { + @Override + public void onChanged(List<Classify> cliassifies) { + homeClassifyAdapter.setData(cliassifies); } }); } -- Gitblit v1.9.1