这是需要实现的效果图:效果是,有数据的展示数据,没数据的一律显示为空,这个地方我做了for循环和if循环的判断处理,难度仅次于当年的九九乘法表
这是服务端返回的json:
{
"resultStatus": true,
"resultData": [{
"girdNo": 1,
"devices": [{
"deviceRfid": "SBYCFUDVXR4ZM01",
"deviceSn": "SNsl",
"deviceType": "DRONE",
"deviceNo": "SBYCFUDVXR4ZM01",
"deviceName": "Mavic 2专业版2",
"deviceImg": "http://118.24.5422.jpg"
}, {
"deviceRfid": "SB53DRIO3REGT02",
"deviceSn": "123123",
"deviceType": "DRONE",
"deviceNo": "SB53DRIO3REGT02",
"deviceName": "Mavic 2专业版2",
"deviceImg": "http://118.2b422.jpg"
}]
}, {
"girdNo": 2,
"devices": [{
"deviceRfid": "SBF9YM0LBPQ0803",
"deviceSn": "45",
"deviceType": "DRONE",
"deviceNo": "SBF9YM0LBPQ0803",
"deviceName": "厂家删除",
"deviceImg": "http://118.2116c27bf.jpg"
}]
}, {
"girdNo": 3,
"devices": null
}, {
"girdNo": 4,
"devices": []
}]
}
看到没有? 真正的布局是有8个柜子的,但是服务端返回的json长度不匹配,只有4条数据,
解决代码:
package com.example.administrator.testz;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
List<String> list = new ArrayList<String>(); //理论集合
List<String> list2 = new ArrayList<String>(); //实际集合
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list.add("o1");
list.add("o1");
list.add("o2");
list.add("o3");
list.add("o4");
list.add("o5");
list.add("o6");
list.add("o7");
list2.add("p1");
list2.add("p1");
list2.add("");
list2.add("");
for(int i=0;i<list.size();i++){
System.out.println(list.get(i)+"=="+list.size());
}
System.out.println("===========a===========");
for(int i=0;i<list2.size();i++){
System.out.println(list2.get(i)+"=="+list2.size());
}
//有数据的i打印 无数据的 打印i
// 0 1 有数据 2 3 4 5 6 7 无数据
System.out.println("===========n===========");
for(int i=0;i<list.size();i++){
if(i<list2.size()){
for(int j=0;j<list2.size();j++){
if(list2.get(j).isEmpty() || list2.get(j).equals("")){
System.out.println(j+"无数据");
}else{
System.out.println(j+"有数据");
}
}
}else{
System.out.println(i+"没有数据");
}
}
}
}
打印结果:
0有数据
1有数据
2无数据
3无数据
0有数据
1有数据
2无数据
3无数据
0有数据
1有数据
2无数据
3无数据
0有数据
1有数据
2无数据
3无数据
4没有数据
5没有数据
6没有数据
7没有数据
end ,其实这个东西就是一个小算法,但我确实花了半个小时才写出来,纪录一下