| | |
| | | package com.duqing.missions.ui.main.home; |
| | | |
| | | import android.content.Intent; |
| | | import android.os.Bundle; |
| | | import android.util.Log; |
| | | import android.view.LayoutInflater; |
| | |
| | | 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; |
| | |
| | | |
| | | import java.util.List; |
| | | |
| | | public class HomeFragment extends BaseFragment<MainActivity,FragmentHomeBinding> { |
| | | public class HomeFragment extends BaseFragment<FragmentHomeBinding> { |
| | | |
| | | private HomeViewModel homeViewModel; |
| | | final String TAG = "HomeFragment"; |
| | |
| | | @Override |
| | | public void initViews() { |
| | | homeViewModel = new ViewModelProvider(this).get(HomeViewModel.class); |
| | | binding.imgSearch.setOnClickListener(v -> startActivity(new Intent(getContext(), LoginActivity.class))); |
| | | final SmartRefreshLayout smartRefresh = binding.smartRefresh; |
| | | smartRefresh.setRefreshHeader(new ClassicsHeader(getContext())); |
| | | smartRefresh.setRefreshFooter(new ClassicsFooter(getContext())); |
| | |
| | | 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 |