我想显示序列号。对于每个项目,我该怎么做?
for (int i = 1; i < pres.arrMedicine.size()-1; i++) {
for (final MedicineModel medicine : prescription.arrMedicine) {
((TextView) dialogPrintPrescription
.findViewById(R.id.txt_prescription)).append("\n " + i
+ ". "
+ medicine.getMedicineString());
}
}
我正在尝试这个以获得序列号。在每个要显示的项目之前。
答案 0 :(得分:0)
不需要2个for
循环。
您可以尝试以下代码:
int i = 1;
for (final MedicineModel medicine : prescription.arrMedicine) {
((TextView) dialogPrintPrescription
.findViewById(R.id.txt_prescription)).append("\n " + i
+ ". "
+ medicine.getMedicineString());
i++;
}
}
答案 1 :(得分:0)
您应该像这样转换两个数组:
for (int i = 1; i < pres.arrMedicine.size()-1; i++) {
((TextView) dialogPrintPrescription
.findViewById(R.id.txt_prescription)).append("\n " + i
+ ". "
+ pres.arrMedicine.get(i).getMedicineString());
}
否则,在迭代药物时,i的价值永远不会增加
答案 2 :(得分:0)
上述答案是正确的。此外,您可以使用ArrayList类的indexOf(Object o)
方法。这避免了使用额外的变量,即
for (final MedicineModel medicine : prescription.arrMedicine) {
((TextView) dialogPrintPrescription
.findViewById(R.id.txt_prescription)).append(
"\n " + prescription.arrMedicine.indexOf(medicine)
+ ". "
+ medicine.getMedicineString());
}
希望这也有帮助!!