Administrator
2021-11-03 de74e5ec3fbdab065e8b91240fa1944c4b3440c2
app/src/main/java/com/duqing/missions/ui/main/home/HomeFragment.java
@@ -1,11 +1,11 @@
package com.duqing.missions.ui.main.home;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -16,10 +16,11 @@
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.duqing.missions.MainActivity;
import com.duqing.missions.base.BaseFragment;
import com.duqing.missions.databinding.FragmentHomeBinding;
import com.duqing.missions.ui.main.home.adapter.MissiontTopAdapter;
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;
@@ -29,7 +30,7 @@
import java.util.List;
public class HomeFragment extends BaseFragment<MainActivity,FragmentHomeBinding> {
public class HomeFragment extends BaseFragment<FragmentHomeBinding> {
    private HomeViewModel homeViewModel;
    final String TAG = "HomeFragment";
@@ -38,11 +39,11 @@
    @Override
    public void initViews() {
        homeViewModel = new ViewModelProvider(this).get(HomeViewModel.class);
        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;
        final ImageView imgSearch = binding.imgSearch;
        RecyclerView recyclerClassify = binding.recyclerClassify;
        RecyclerView recyclerTop = binding.recyclerTop;
        final RecyclerView recyclerRecommend = binding.recyclerRecommend;
@@ -62,22 +63,30 @@
                homeViewModel.onRefresh();
            }
        });
        final MissiontTopAdapter topAdapter = new MissiontTopAdapter();
        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.getMissions().observe(getViewLifecycleOwner(), new Observer<List<MissionDesc>>() {
        homeViewModel.getTopMissions().observe(getViewLifecycleOwner(), new Observer<List<MissionDesc>>() {
            @Override
            public void onChanged(List<MissionDesc> missionDescs) {
                smartRefresh.finishRefresh();
                smartRefresh.finishLoadMore();
                topAdapter.setData(missionDescs);
            }
        });
        homeViewModel.getRecommendMissions().observeForever(new Observer<List<MissionDesc>>() {
            @Override
            public void onChanged(List<MissionDesc> missionDescs) {
                smartRefresh.finishLoadMore();
                recommendAdapter.setData(missionDescs);
            }
        });
    }
    @Nullable