首页设备列表,添加设备

This commit is contained in:
fengjignqi
2026-05-19 16:40:34 +08:00
parent 182289f82d
commit 99e0ee56a5
24 changed files with 496 additions and 188 deletions

View File

@@ -10,6 +10,7 @@ import androidx.annotation.Nullable;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.custom.view.CustomRefreshHeader;
import com.ckkj.water.databinding.IndexFragmentLayoutBinding;
import com.ckkj.water.device.AddDeviceActivity;
import com.ckkj.water.device.DeviceControlActivity;
@@ -23,6 +24,8 @@ import com.ckkj.water.permission.PermissionActivity;
import com.ckkj.water.utils.show.ToastUtil;
import com.maning.mlkitscanner.scan.MNScanManager;
import com.maning.mlkitscanner.scan.callback.act.MNScanCallback;
import com.scwang.smart.refresh.footer.ClassicsFooter;
import com.scwang.smart.refresh.layout.api.RefreshHeader;
import java.util.ArrayList;
import java.util.List;
@@ -42,16 +45,21 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
@Override
public void initData(@Nullable Bundle savedInstanceState) {
IndexDeviceEntity entity = new IndexDeviceEntity("智能浇水设备A1","YA226641000101","工作中",100);
IndexDeviceEntity entity2 = new IndexDeviceEntity("智能浇水设备B1","YA22664100000","工作中",80);
IndexDeviceEntity entity3 = new IndexDeviceEntity("智能浇水设备C5","YA234534000101","工作中",70);
IndexDeviceEntity entity4 = new IndexDeviceEntity("智能浇水设备D6","YA2266678543101","工作中",50);
devList.add(entity);
devList.add(entity2);
devList.add(entity3);
devList.add(entity4);
// 设置自定义刷新头
RefreshHeader header = new CustomRefreshHeader(mContext);
viewBinding.refresh.setRefreshHeader(header);
viewBinding.refresh.setRefreshFooter(new ClassicsFooter(mContext));
viewBinding.refresh.setOnRefreshListener(layout -> {
mCurrentPage = 1;
mPresenter.getDevicesList(mCurrentPage);
});
viewBinding.refresh.setOnLoadMoreListener(layout -> {
mCurrentPage++;
mPresenter.getDevicesList(mCurrentPage);
});
showLoadingDialog();
mPresenter.getDevicesList();
mPresenter.getDevicesList(mCurrentPage);
}
@Override
@@ -136,8 +144,35 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
* 获取设备列表成功
*/
@Override
public void getDeviceListSuccess() {
public void getDeviceListSuccess(List<IndexDeviceEntity> list,int total) {
hideDialogLoading();
viewBinding.refresh.finishRefresh(300);
viewBinding.refresh.finishLoadMore(300);
if (mCurrentPage == 1) {
devList.clear(); // 只在刷新时清除
devList = list;
} else {
devList.addAll(list);
}
deviceAdapter.setNewData(devList);
// 4. 判断是否还有更多数据
if (total == deviceAdapter.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 (deviceAdapter.getItemCount() != 0) {
viewBinding.refresh.setVisibility(View.VISIBLE);
viewBinding.relNoresult.setVisibility(View.GONE);
} else {
viewBinding.refresh.setVisibility(View.GONE);
viewBinding.relNoresult.setVisibility(View.VISIBLE);
}
}