今天用if+for玩碰到一个小问题,解决!完美!

本文探讨了在设备列表中筛选特定状态(如离线)设备的Java代码优化过程,尤其是在处理不同公司和设备名称组合时的复杂逻辑调整。通过对比不同条件下的设备状态检查,实现了更高效和准确的筛选机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List pageList = deviceListDto.getData().getPageList();
//deviceList.addAll(pageList);
/* if (companyName.equals(“所有单位”) && deviceName.equals(“所有设备”)) {
for (int i = 0; i < deviceListDto.getData().getPageSize(); i++) {
if (“离线”.equals(pageList.get(i).getDeviceStatusStr())) {
deviceList.add(pageList.get(i));
} else {
deviceList.add(pageList.get(i));
}
}
Log.i(“sysout”, “deviceList:” + companyName + deviceName);
}*/ //失败不行;
if (deviceName.equals(“所有设备”)) {
Toast.makeText(Cache.getContext().getApplicationContext(), getResources().getString(R.string.loading), Toast.LENGTH_SHORT).show();
for (int i = 0; i < deviceListDto.getData().getPageSize(); i++) {
deviceList.remove(pageList.get(i));
if (companyName.equals(“所有单位”)) {
if (“离线”.equals(pageList.get(i).getDeviceStatusStr())) {
deviceList.add(pageList.get(i));
} else {
deviceList.add(pageList.get(i));
}
} //换上这个可以
if (companyName.equals(pageList.get(i).getCompany())) {
if (“离线”.equals(pageList.get(i).getDeviceStatusStr())) {
deviceList.add(pageList.get(i));
} else {
deviceList.add(pageList.get(i));
}
Log.i(“sysout”, “deviceList:” + companyName + deviceName + deviceList);
}
}
}
if (companyName.equals(“所有单位”)) {
Toast.makeText(Cache.getContext().getApplicationContext(), getResources().getString(R.string.loading), Toast.LENGTH_SHORT).show();
for (int i = 0; i < deviceListDto.getData().getPageSize(); i++) {
deviceList.remove(pageList.get(i));
if (deviceName.equals(“所有设备”)) {
if (“离线”.equals(pageList.get(i).getDeviceStatusStr())) {
deviceList.add(pageList.get(i));
} else {
deviceList.add(pageList.get(i));
}
} //换上这个可以
if (deviceName.equals(pageList.get(i).getProductName())) {
if (“离线”.equals(pageList.get(i).getDeviceStatusStr())) {
deviceList.add(pageList.get(i));
} else {
deviceList.add(pageList.get(i));
}
Log.i(“sysout”, “deviceList:” + companyName + deviceName + deviceList);
}
}
}
if (!companyName.equals(“所有单位”) && !deviceName.equals(“所有设备”)) {
for (int i = 0; i < deviceListDto.getData().getPageSize(); i++) {
deviceList.remove(pageList.get(i));
if (companyName.equals(pageList.get(i).getCompany()) && deviceName.equals(pageList.get(i).getProductName())) {
if (“离线”.equals(pageList.get(i).getDeviceStatusStr())) {
deviceList.add(pageList.get(i));
} else {
deviceList.add(pageList.get(i));
}
Log.i(“sysout”, “deviceList:” + companyName + deviceName + deviceList);
}
}
}
最后发现:之所以不行,可能是因为我的SpinAdapter只有一个,所以一次只能加载一个value值来进行if判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值