循环遍历数组中的元素并显示在每个cardView中

时间:2017-09-12 13:27:11

标签: android loops for-loop

我正在使用cardView显示数据,总共有5张卡,每张卡都需要不同的卡名。

该名称将显示在每个cardView旁边。我正在使用循环迭代所有这些名称:

String [] cardNames = {"a", "b", " c", "d"," e"};
String cardName = null;

for(int i = 0; i < cardNames.length; i++){
      cardName = cardNames[i];
}

显示每个卡名称的循环如下所示:

for(int i = 0; i < 5; i++;){
      "Item" + (i + 1) + cardName;
}

相反,我得到的是所有具有相同名称的cardView,即

Item 1    //cardName e
Item 2    //cardName e
// and so on

我怎么解决这个问题?

5 个答案:

答案 0 :(得分:0)

你这样做吗

    String [] cardNames = {"a", "b", " c", "d"," e"};
    String cardName = null;
            for(int i=0;i<cardNames.length;i++){
               cardName = cardNames[i];
                 for(int j=0;j<5;j++){
                     System.out.println("Item" + (j + 1) + cardName);
                 }
            }
       }

答案 1 :(得分:0)

你可以像这样在一个循环中完成所有事情:

for(int i = 0; i < cardNames.length; i++){
  cardName = cardNames[i];
  String display = "Item " + (i + 1) + " " + cardName;
  view.setText(display);

}

答案 2 :(得分:0)

我建议为cardName使用ArrayList对象,并在迭代循环时将cardNames[i]添加到cardName ArrayList。

String [] cardNames = {"a", "b", " c", "d"," e"};
ArrayList<String> cardName = new ArrayList();

for(int i = 0; i < cardNames.length; i++){
      cardName.add(cardNames[i]);
}

你可以检索它 -

for(int i = 0; i < cardName.size(); i++;){
      "Item" + (i + 1) + cardName.get(i);
}

如果您需要更多帮助,请与我们联系。

答案 3 :(得分:0)

您有单个变量用于保存卡名称,即cardName。

通过代码的外观,您试图通过循环遍历cardNames数组来保存cardName,然后再次循环以显示卡片。

由于您有单个变量用于保存卡名,因此您的cardName变量将包含最后一个卡名称的值,即cardName e。

获得输出的最简单方法是:

for(int i = 0; i < 5; i++;){
  "Item" + (i + 1) + cardNames[i];
}

答案 4 :(得分:0)

可能会对您有所帮助,如果没有,请解释您的查询。

String [] cardNames = {"a", "b", " c", "d"," e"};
String cardName = null;

for(int i = 0; i < cardNames.length; i++){
     "Item" + (i + 1) +  cardNames[i];
}