在我的应用程序中,我想将此Library用于显示ArrayList
个项目
来自服务器的我的ArrayList:
"genres": [
"Action",
" Comedy",
" Family"
]
我在下面为show items编写代码:
private String[] mostlyMatchedKeywordsStrings = serialResponse.getData().getGenres();
private List<String> cloudChipList = new ArrayList<>();
for (String str : mostlyMatchedKeywordsStrings) {
cloudChipList.add(str);
if (cloudChipList.size() > 0) {
infoSerialFrag_GenreChips.addChip(str);
}
}
将oputput视为:
Ganre:动作喜剧家庭
但我想这样:
Ganre:动作,喜剧,家庭
请帮我处理上述代码,我很业余,需要此帮助,请帮我处理上述代码。谢谢所有&lt; 3
答案 0 :(得分:3)
你可以尝试使用for循环这样:
已编辑:
private String[] mostlyMatchedKeywordsStrings;
private List<String> cloudChipList = new ArrayList<>();
mostlyMatchedKeywordsStrings = serialResponse.getData().getGenres();
for (String str : mostlyMatchedKeywordsStrings) {
cloudChipList.add(str);
}
if (cloudChipList.size() > 0) {
for (int i = 0; i < cloudChipList.size(); i++) {
if (i == (cloudChipList.size() - 1)) //true only for last element
infoSerialFrag_GenreChips.add(cloudChipList.get(i));
else
infoSerialFrag_GenreChips.add(cloudChipList.get(i) + ","); //this will execute for 1st to 2nd last element
}
}
答案 1 :(得分:1)
使用TextUtils.join(",", yourList);
答案 2 :(得分:0)
使用旧的Java 6方式并自己添加逗号,除非它是列表中的最后一个元素。
请参阅以下示例:
private String[] mostlyMatchedKeywordsStrings = serialResponse.getData().getGenres();
private List<String> cloudChipList = new ArrayList<>();
for (int i = 0; i < mostlyMatchedKeywordsStrings.length; i++) {
String str = mostlyMatchedKeywordsStrings[i];
if (i + 1 < mostlyMatchedKeywordsStrings.length) str = str + ", ";
cloudChipList.add(str);
if (cloudChipList.size() > 0) {
infoSerialFrag_GenreChips.addChip(str);
}
}
答案 3 :(得分:0)
java.util.ArrayList.add(int index,E elemen)方法插入 指定的元素E在此列表中的指定位置。它会移位 当前位于该位置的元素(如果有)以及任何后续元素 右侧的元素(将在其索引中添加一个)。
<强>被修改强>
if (cloudChipList.size() > 0)
{
if(cloudChipList.get(cloudChipList.size()-1).contains(","))
{
infoSerialFrag_GenreChips.add(str);
}
else
{
infoSerialFrag_GenreChips.add(str+",");
}
}
OP将
Ganre:动作,喜剧,家庭
答案 4 :(得分:0)
虽然已经很晚了,但是如果其他人来到这个话题就行了...... 如果您使用的是Java 8,则可以使用以下流式传输器和收集器接口:
List<String> cloudChipList = new ArrayList<String>();
cloudChipList.add("Action");
cloudChipList.add("Comedy");
cloudChipList.add("Family");
String result = cloudChipList.stream().collect(Collectors.joining(" , ", "Genre: ", "\n"));
System.out.println(result);
这里Collectors.joining
为结果添加了分隔符,前缀和后缀,但它也有一个只带分隔符的选项。