Merge branch 'master' into page
# Conflicts:
# app/src/main/java/com/runt/open/mvvm/base/activities/LoadPageActivity.java
# app/src/main/java/com/runt/open/mvvm/base/fragments/LoadPageFragment.java
# app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeFragment.java
# app/src/main/java/com/runt/open/mvvm/ui/main/home/HomeViewModel.java
3 files added
5 files modified
3 files deleted
| | |
| | | import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener; |
| | | |
| | | import java.lang.reflect.ParameterizedType; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Created by Administrator on 2021/11/4 0004. |
| | |
| | | refresh.autoRefresh(); |
| | | } |
| | | |
| | | protected Object[] requestParams(){return null;}; |
| | | protected Map requestParams() { |
| | | return new HashMap(); |
| | | } |
| | | |
| | | @Override |
| | | public void onRefresh(@NonNull RefreshLayout refreshLayout) { |
| | | page = 0; |
| | | mViewModel.requestData(mViewModel.request(page,requestParams())); |
| | | mViewModel.requestData(page,requestParams()); |
| | | } |
| | | |
| | | @Override |
| | | public void onLoadMore(@NonNull RefreshLayout refreshLayout) { |
| | | page++; |
| | | mViewModel.requestData(mViewModel.request(page,requestParams())); |
| | | mViewModel.requestData(page,requestParams()); |
| | | } |
| | | |
| | | public A getAdapter() { |
| | |
| | | import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener; |
| | | |
| | | import java.lang.reflect.ParameterizedType; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 分页fragment 封装 |
| | |
| | | refresh.autoRefresh(); |
| | | } |
| | | |
| | | /** |
| | | * 参数 |
| | | * @return |
| | | */ |
| | | protected Object[] requestParams(){return null;}; |
| | | protected Map requestParams() { |
| | | return new HashMap(); |
| | | } |
| | | |
| | | @Override |
| | | public void onRefresh(@NonNull RefreshLayout refreshLayout) { |
| | | page = 0; |
| | | mViewModel.requestData(mViewModel.request(page,requestParams())); |
| | | mViewModel.requestData(page,requestParams()); |
| | | } |
| | | |
| | | @Override |
| | | public void onLoadMore(@NonNull RefreshLayout refreshLayout) { |
| | | page++; |
| | | mViewModel.requestData(mViewModel.request(page,requestParams())); |
| | | mViewModel.requestData(page,requestParams()); |
| | | } |
| | | |
| | | public A getAdapter() { |
| | |
| | | package com.runt.open.mvvm.data; |
| | | |
| | | import com.runt.open.mvvm.ui.login.UserBean; |
| | | import com.runt.open.mvvm.ui.main.home.Message; |
| | | |
| | | /** |
| | | * My father is Object, ites purpose of |
| | |
| | | |
| | | public static class StringApiResult extends HttpApiResult<String> { } |
| | | |
| | | public class MessageResult extends PageResult<Message>{} |
| | | //资讯信息 |
| | | public class Message { |
| | | public String id,title,content,cTime; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.runt.open.mvvm.ui.loadpage; |
| | | |
| | | /** |
| | | * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/9. |
| | | */ |
| | | public class PageActivitys { |
| | | } |
New file |
| | |
| | | package com.runt.open.mvvm.ui.loadpage; |
| | | |
| | | import com.runt.open.mvvm.base.fragments.LoadPageFragment; |
| | | import com.runt.open.mvvm.data.Results; |
| | | import com.runt.open.mvvm.databinding.RefreshRecyclerBinding; |
| | | import com.runt.open.mvvm.ui.main.home.MsgAdapter; |
| | | |
| | | /** |
| | | * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/9. |
| | | */ |
| | | public class PageFragments { |
| | | |
| | | public static class HomeFragment extends LoadPageFragment<RefreshRecyclerBinding, PageViewModels.HomeViewModel, MsgAdapter, Results.Message> { |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | package com.runt.open.mvvm.ui.loadpage; |
| | | |
| | | import com.runt.open.mvvm.base.model.LoadPageViewModel; |
| | | import com.runt.open.mvvm.ui.main.home.Message; |
| | | |
| | | /** |
| | | * @purpose Created by Runt (qingingrunt2010@qq.com) on 2022/8/9. |
| | | */ |
| | | public class PageViewModels { |
| | | public class HomeViewModel extends LoadPageViewModel<Message> { |
| | | @Override |
| | | protected String requestUrl() { |
| | | return "getMsgList"; |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.runt.open.mvvm.databinding.ActivityMainBinding; |
| | | import com.runt.open.mvvm.listener.CustomClickListener; |
| | | import com.runt.open.mvvm.listener.ResPonse; |
| | | import com.runt.open.mvvm.ui.loadpage.PageFragments; |
| | | import com.runt.open.mvvm.ui.login.RegisterLoginActivity; |
| | | import com.runt.open.mvvm.ui.login.UserBean; |
| | | import com.runt.open.mvvm.ui.main.home.HomeFragment; |
| | | import com.runt.open.mvvm.ui.main.mine.MineFragment; |
| | | import com.runt.open.mvvm.ui.main.service.ServiceFragment; |
| | | |
| | |
| | | |
| | | public class MainActivity extends BaseActivity<ActivityMainBinding, MainViewModel> { |
| | | |
| | | private BaseFragment[] fragments = {new HomeFragment(),new ServiceFragment(),new MineFragment()} ; |
| | | private BaseFragment[] fragments = {new PageFragments.HomeFragment(),new ServiceFragment(),new MineFragment()} ; |
| | | ActivityResultLauncher<Intent> loginLaunch = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> { |
| | | if(result.getResultCode() == RESULT_CODE_SUCESS){ |
| | | fragments[2].loadData();//登录后重新刷新 |
| | |
| | | import android.view.View; |
| | | |
| | | import com.runt.open.mvvm.base.adapter.BaseAdapter; |
| | | import com.runt.open.mvvm.data.Results; |
| | | import com.runt.open.mvvm.databinding.ItemMsgBinding; |
| | | import com.runt.open.mvvm.listener.CustomClickListener; |
| | | import com.runt.open.mvvm.util.HandleDate; |
| | |
| | | * @purpose Created by Runt (qingingrunt2010@qq.com) on 2020-8-21. |
| | | */ |
| | | |
| | | public class MsgAdapter extends BaseAdapter<Message, ItemMsgBinding> { |
| | | public class MsgAdapter extends BaseAdapter<Results.Message, ItemMsgBinding> { |
| | | |
| | | @Override |
| | | protected void onBindView(ItemMsgBinding binding, int position, Message message) { |
| | | protected void onBindView(ItemMsgBinding binding, int position, Results.Message message) { |
| | | binding.txtDetail.setText(message.content); |
| | | binding.txtTime.setText(HandleDate.getTimeStateNew(HandleDate.getDateTimeToLong(message.cTime))); |
| | | binding.txtTitle.setText(message.title); |