我正在使用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
我怎么解决这个问题?
答案 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];
}