@Override
public ArrayList<TaskDataPackage> getData() {
System.out.println("getData()");
ArrayList<TaskDataPackage> dataListCount = new ArrayList<>();
TaskDataPackageList dataPackage;
if (groupDataList != null) {
// if (true)//判断table 名-未完成
// {
ArrayList<TaskDataPackageList> dataListNo = new ArrayList<>();
for (InspectionTask inspectionTask : groupDataList) {
dataPackage=new TaskDataPackageList();
dataPackage.setType(getTypeName(Integer.valueOf(inspectionTask.getInspectionMode()!=null?inspectionTask.getInspectionMode():"0")));
dataPackage.setTitle(inspectionTask.getTaskName());
dataPackage.setTime(inspectionTask.getTaskEndTime());
dataPackage.setProgress("3/6");
dataPackage.setMen("张三");
dataListNo.add(dataPackage);
// dataPackage.setProgress(inspectionTask.getChildren().get().getExamObjectCount() + "/" + scc.getTotalObjectCount());
}
TaskDataPackage taskDataPackageNo = new TaskDataPackage();
taskDataPackageNo.setCount(groupDataList.size());
taskDataPackageNo.setTaskDataPackageList(dataListNo);
dataListCount.add(taskDataPackageNo);
// } else if(true){//已完成
ArrayList<TaskDataPackageList> dataListHas = new ArrayList<>();
for (InspectionTask inspectionTask : groupDataList) {
dataPackage=new TaskDataPackageList();
dataPackage.setType(getTypeName(Integer.valueOf(inspectionTask.getInspectionMode()!=null?inspectionTask.getInspectionMode():"0")));
dataPackage.setTitle(inspectionTask.getTaskName());
dataPackage.setTime(inspectionTask.getTaskEndTime());
dataPackage.setProgress("3/6");
dataPackage.setMen("李四");
dataListHas.add(dataPackage);
// dataPackage.setProgress(inspectionTask.getChildren().get().getExamObjectCount() + "/" + scc.getTotalObjectCount());
}
TaskDataPackage taskDataPackageHas = new TaskDataPackage();
taskDataPackageHas.setCount(groupDataList.size());
taskDataPackageHas.setTaskDataPackageList(dataListHas);
dataListCount.add(taskDataPackageHas);
// }else {//已过期
ArrayList<TaskDataPackageList> dataListExp = new ArrayList<>();
for (InspectionTask inspectionTask : groupDataList) {
dataPackage=new TaskDataPackageList();
dataPackage.setType(getTypeName(Integer.valueOf(inspectionTask.getInspectionMode()!=null?inspectionTask.getInspectionMode():"0")));
dataPackage.setTitle(inspectionTask.getTaskName());
dataPackage.setTime(inspectionTask.getTaskEndTime());
dataPackage.setProgress("3/6");
dataPackage.setMen("赵六");
dataListExp.add(dataPackage);
// dataPackage.setProgress(inspectionTask.getChildren().get().getExamObjectCount() + "/" + scc.getTotalObjectCount());
}
TaskDataPackage taskDataPackageExp = new TaskDataPackage();
taskDataPackageExp.setCount(groupDataList.size());
taskDataPackageExp.setTaskDataPackageList(dataListExp);
dataListCount.add(taskDataPackageExp);
// }
}
return dataListCount;
}
解决办法:ArraylistView :add方法中 数据,,都要重新new 一个。。确保 。add的内容所指向的地址,,部分之前add的数据 指向相同的地址。
原因: add 中的数据 所指向的地址 ,是同一个地址。即后面每次设置 的数据 都会覆盖之前的数据。。所以 最后获取的 arraylist的数据全都一样。