如何使用每个ArrayList项显示计数(数字)?

时间:2015-05-26 10:20:37

标签: android

我想显示序列号。对于每个项目,我该怎么做?

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());
    }
}

我正在尝试这个以获得序列号。在每个要显示的项目之前。

3 个答案:

答案 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());
}

希望这也有帮助!!