排程分页
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.ckkj.water.utils.manager.ThemeManager;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.google.gson.Gson;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.scwang.smart.refresh.footer.ClassicsFooter;
|
||||
import com.scwang.smart.refresh.layout.api.RefreshHeader;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -60,8 +61,10 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
|
||||
RefreshHeader header = new CustomRefreshHeader(mContext);
|
||||
viewBinding.refresh.setRefreshHeader(header);
|
||||
viewBinding.refresh.setRefreshFooter(new ClassicsFooter(mContext));
|
||||
viewBinding.refresh.setOnRefreshListener(layout -> {
|
||||
mCurrentPage = 1;
|
||||
viewBinding.refresh.setNoMoreData(false);
|
||||
mPresenter.getWaterPlanList(mCurrentPage);
|
||||
});
|
||||
viewBinding.refresh.setOnLoadMoreListener(layout -> {
|
||||
@@ -97,22 +100,24 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||
|
||||
hideDialogLoading();
|
||||
viewBinding.refresh.finishRefresh(300);
|
||||
viewBinding.refresh.finishLoadMore(300);
|
||||
List<WaterPlanWeekEntity> pageList = list == null ? new ArrayList<>() : list;
|
||||
if (mCurrentPage == 1) {
|
||||
viewBinding.refresh.finishRefresh(300);
|
||||
mPlanList.clear(); // 只在刷新时清除
|
||||
mPlanList = list;
|
||||
mPlanList = pageList;
|
||||
} else {
|
||||
mPlanList.addAll(list);
|
||||
viewBinding.refresh.finishLoadMore(300);
|
||||
mPlanList.addAll(pageList);
|
||||
}
|
||||
mAdapter.setNewData(mPlanList);
|
||||
|
||||
// 4. 判断是否还有更多数据
|
||||
if (total == mAdapter.getItemCount() || list == null || list.size() == 0) {
|
||||
// ✅ 告诉 SmartRefreshLayout 没有更多数据了
|
||||
viewBinding.refresh.setNoMoreData(true);
|
||||
viewBinding.relNoMore.setVisibility(View.VISIBLE); // 自定义底部提示“暂无更多数据”
|
||||
if (mAdapter.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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user