【发布时间】:2018-11-14 12:02:40
【问题描述】:
我有两个不同大小的数组列表,我的问题是我必须从两个列表中检索值并将其显示到文本视图上,当我使用两个循环时,它首先完成内部循环,然后执行外循环和 vales 被打印两次,如果使用 break 中断内循环,则在第一次循环后完全忽略内循环。
ArrayList<LocationDto>location = new ArrayList<>();
education<EducationDto> = new ArrayList<>();
if (education.size() != 0) {
for (int j = 0; j < education.size(); j++) {
for (int k = 0; k < location.size(); k++) {
if (!education.get(j).getSpecializationTitle().equalsIgnoreCase("") && !location.get(k).getLocationName().equalsIgnoreCase("")) {
tvEducation.append(education.get(j).getEducationTitle() + "(" + education.get(j).getSpecializationTitle() + ")" + " Located at " + location.get(k).getLocationName());
} else if (education.get(j).getSpecializationTitle().equalsIgnoreCase("") && !location.get(k).getLocationName().equalsIgnoreCase("")) {
tvEducation.append(education.get(j).getEducationTitle() + " Located at " + location.get(j).getLocationName());
} else if (!education.get(j).getSpecializationTitle().equalsIgnoreCase("") && location.get(k).getLocationName().equalsIgnoreCase("")) {
tvEducation.append(education.get(j).getEducationTitle() + "(" + education.get(j).getSpecializationTitle() + ")");
} else {
tvEducation.append(education.get(j).getEducationTitle());
}
if (j != education.size() - 1) {
tvEducation.append(" , ");
}
break;
}
}
} else {
tvEducation.setText("Not Specified");
tvEducation.setTextColor(getResources().getColor(R.color.color_three));
}
我现在该怎么办?
【问题讨论】:
-
您有什么要求?
-
首先检查列表的大小。还要将此
tvEducation.append(education.get(j).getEducationTitle() + " Located at " + location.get(j).getLocationName());更改为tvEducation.append(education.get(j).getEducationTitle() + " Located at " + location.get(k).getLocationName());