排程编辑更新

This commit is contained in:
fengjignqi
2026-05-27 08:52:18 +08:00
parent f2b8062398
commit 0ca0a395cd
7 changed files with 132 additions and 31 deletions

View File

@@ -8,6 +8,7 @@ import android.view.View;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.custom.view.CustomRefreshHeader;
import com.ckkj.water.databinding.WaterPlanFragmentBinding;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
@@ -21,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.layout.api.RefreshHeader;
import java.util.ArrayList;
import java.util.List;
@@ -29,6 +31,7 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
implements WaterPlanContract.WaterPlanView {
private List<WaterPlanWeekEntity> mPlanList = new ArrayList<>();
private WaterPlanListAdapter mAdapter;
private int mCurrentPage = 1;
@Override
public void initData(Bundle state) {
@@ -44,7 +47,6 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
viewBinding.includedTitle.imgBack.setVisibility(INVISIBLE);
viewBinding.includedTitle.tvTitle.setText(getString(R.string.plan_title));
initListener();
mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mPlanList);
viewBinding.rvPlans.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@@ -55,10 +57,25 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
goTo(mContext, PlanDetailActivity.class,bundle);
}
});
showLoadingDialog();
mPresenter.getWaterPlanList();
RefreshHeader header = new CustomRefreshHeader(mContext);
viewBinding.refresh.setRefreshHeader(header);
viewBinding.refresh.setOnRefreshListener(layout -> {
mCurrentPage = 1;
mPresenter.getWaterPlanList(mCurrentPage);
});
viewBinding.refresh.setOnLoadMoreListener(layout -> {
mCurrentPage++;
mPresenter.getWaterPlanList(mCurrentPage);
});
}
@Override
protected void onResumeInitData() {
super.onResumeInitData();
showLoadingDialog();
mPresenter.getWaterPlanList(mCurrentPage);
}
private void initListener() {
setClick(viewBinding.tvAdd);
@@ -78,9 +95,35 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
@Override
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
hideDialogLoading();
mPlanList = list;
mAdapter.setNewData(list);
viewBinding.refresh.finishRefresh(300);
viewBinding.refresh.finishLoadMore(300);
if (mCurrentPage == 1) {
mPlanList.clear(); // 只在刷新时清除
mPlanList = list;
} else {
mPlanList.addAll(list);
}
mAdapter.setNewData(mPlanList);
// 4. 判断是否还有更多数据
if (total == mAdapter.getItemCount() || list == null || list.size() == 0) {
// ✅ 告诉 SmartRefreshLayout 没有更多数据了
viewBinding.refresh.setNoMoreData(true);
viewBinding.relNoMore.setVisibility(View.VISIBLE); // 自定义底部提示“暂无更多数据”
} else {
viewBinding.refresh.setNoMoreData(false); // 重置状态
viewBinding.relNoMore.setVisibility(View.GONE);
}
// 5. 控制空布局和内容显示
if (mAdapter.getItemCount() != 0) {
viewBinding.refresh.setVisibility(View.VISIBLE);
viewBinding.relNoresult.setVisibility(View.GONE);
} else {
viewBinding.refresh.setVisibility(View.GONE);
viewBinding.relNoresult.setVisibility(View.VISIBLE);
}
}