排程分页

This commit is contained in:
fengjignqi
2026-05-27 09:41:27 +08:00
parent 0ca0a395cd
commit 30e88c8067
2 changed files with 27 additions and 18 deletions

View File

@@ -22,6 +22,7 @@ import com.ckkj.water.index.mvp.IndexImpl;
import com.ckkj.water.index.mvp.IndexPresenter;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.permission.PermissionActivity;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import com.ckkj.water.utils.show.ToastUtil;
import com.maning.mlkitscanner.scan.MNScanManager;
import com.maning.mlkitscanner.scan.callback.act.MNScanCallback;
@@ -154,23 +155,26 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
*/
@Override
public void getDeviceListSuccess(List<WaterDeviceEntity> list, int total) {
hideDialogLoading();
viewBinding.refresh.finishRefresh(300);
viewBinding.refresh.finishLoadMore(300);
List<WaterDeviceEntity> pageList = list == null ? new ArrayList<>() : list;
if (mCurrentPage == 1) {
viewBinding.refresh.finishRefresh(300);
devList.clear(); // 只在刷新时清除
devList = list;
devList = pageList;
} else {
devList.addAll(list);
viewBinding.refresh.finishLoadMore(300);
devList.addAll(pageList);
}
deviceAdapter.setNewData(devList);
// 4. 判断是否还有更多数据
if (total == deviceAdapter.getItemCount() || list == null || list.size() == 0) {
// ✅ 告诉 SmartRefreshLayout 没有更多数据了
viewBinding.refresh.setNoMoreData(true);
viewBinding.relNoMore.setVisibility(View.VISIBLE); // 自定义底部提示暂无更多数据
if (deviceAdapter.getItemCount() >= total || pageList.size() == 0) {
// 使用 post 延迟调用,避免内部状态冲突导致的循环调用
viewBinding.refresh.postDelayed(() -> viewBinding.refresh.setNoMoreData(true), 300);
viewBinding.relNoMore.setVisibility(View.VISIBLE); // 自定义底部提示"暂无更多数据"
} else {
viewBinding.refresh.setNoMoreData(false); // 重置状态
viewBinding.refresh.setNoMoreData(false);
viewBinding.relNoMore.setVisibility(View.GONE);
}