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<InspectResult> 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<String, Object> 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<BaseResponse<InspectListResult>>() {
|
@Override
|
public void onNext(BaseResponse<InspectListResult> 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();
|
}
|
}
|