package com.dayu.pipirrapp.activity; import android.os.Bundle; import android.view.LayoutInflater; import androidx.annotation.Nullable; import androidx.recyclerview.widget.LinearLayoutManager; import com.dayu.pipirrapp.MyApplication; import com.dayu.pipirrapp.adapter.InspectAdapter; import com.dayu.pipirrapp.bean.net.InspectListResult; import com.dayu.pipirrapp.bean.net.InspectResult; import com.dayu.pipirrapp.databinding.ActivityInspectListBinding; import com.dayu.pipirrapp.net.ApiManager; import com.dayu.pipirrapp.net.BaseResponse; import com.dayu.pipirrapp.net.Constants; import com.dayu.pipirrapp.net.subscribers.SubscriberListener; import com.dayu.pipirrapp.utils.ToastUtil; import com.dayu.pipirrapp.view.TitleBar; import com.scwang.smart.refresh.footer.ClassicsFooter; import com.scwang.smart.refresh.header.ClassicsHeader; import com.scwang.smart.refresh.layout.api.RefreshLayout; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import io.reactivex.rxjava3.disposables.CompositeDisposable; /** * InspectActivity - 巡检记录列表 * * @author zuoxiao * @version 1.0 * @since 2025-02-17 */ public class InspectListActivity extends BaseActivity { private ActivityInspectListBinding binding; private RefreshLayout myRefreshLayout; private List recordsList = new ArrayList<>(); private InspectAdapter mAdapter; private CompositeDisposable compositeDisposable = new CompositeDisposable(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityInspectListBinding.inflate(LayoutInflater.from(this)); setContentView(binding.getRoot()); initView(); getData(true); } private void initView() { new TitleBar(this).setTitleText("巡检记录").setLeftIco().setLeftIcoListening(v -> InspectListActivity.this.finish()); myRefreshLayout = binding.refreshLayout; myRefreshLayout.setRefreshHeader(new ClassicsHeader(this)); myRefreshLayout.setRefreshFooter(new ClassicsFooter(this)); myRefreshLayout.setOnRefreshListener(refreshlayout -> { recordsList.clear(); getData(true); }); myRefreshLayout.setOnLoadMoreListener(refreshlayout -> { getData(false); }); mAdapter = new InspectAdapter(this, recordsList); LinearLayoutManager layoutManager = new LinearLayoutManager(this); binding.recyclerView.setLayoutManager(layoutManager); binding.recyclerView.setAdapter(mAdapter); } // private void getData(boolean isRefresh) { // if (isRefresh) { // recordsList.clear(); // } // // compositeDisposable.add( // DaoSingleton.getAsynchInstance(this).inspectionDao().findAll() // .subscribeOn(Schedulers.io()) // .observeOn(AndroidSchedulers.mainThread()) // .subscribe(inspectionList -> { // if (inspectionList != null && !inspectionList.isEmpty()) { // recordsList.addAll(inspectionList); // } // mAdapter.notifyDataSetChanged(); // layoutFinish(myRefreshLayout, isRefresh); // }, throwable -> { // // 处理错误 // layoutFinish(myRefreshLayout, isRefresh); // }) // ); // } private void getData(boolean isRefresh) { Map params = new HashMap<>(); if (isRefresh) { page = 1; recordsList.clear(); } params.put("pageSize", pageSize); params.put("pageCurr", page); params.put("inspectorId", MyApplication.myApplication.userId); ApiManager.getInstance().requestGetHideLoading(this, Constants.BASE_URL + "/app/inspect/getInspectRecords", InspectListResult.class, params, new SubscriberListener>() { @Override public void onNext(BaseResponse t) { if (t.isSuccess()) { if (t.isSuccess()) { if (t.getContent().getObj() != null && t.getContent().getObj().size() > 0) { recordsList.addAll(t.getContent().getObj()); if (t.getContent().getPageTotal() == page) { myRefreshLayout.finishLoadMoreWithNoMoreData(); } } else { myRefreshLayout.finishLoadMoreWithNoMoreData(); } } } else { ToastUtil.showToast(InspectListActivity.this, t.getMsg()); } } @Override public void onCloose() { super.onCloose(); layoutFinish(myRefreshLayout, isRefresh); mAdapter.notifyDataSetChanged(); } }); } @Override protected void onDestroy() { super.onDestroy(); compositeDisposable.clear(); } }