@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的数据全都一样。