我正在Android中学习ArrayList
,我的方案出错:
ArrayList<String> list=new ArrayList<>();
list.add("SuperMan");
list.add("BatMan");
list.add("Xman");
list.add("WhatEverMan");
TextView omg=(TextView)findViewById(R.id.textView);
for(String item:list){
omg.setText("You are "+item+" ");
}
我尝试改为这也不起作用
omg.setText("You are "+item.toString()+" ");
它只显示&#34; WhatEverMan&#34;在TextView
。
另一个问题是
之间的区别是什么ArrayList<String> list=new ArrayList<>();
和
ArrayList<String> list=new ArrayList<String>();
我运行这两个,两个都没有提示任何错误,只是它只显示&#34; WhatEverMan&#34;
答案 0 :(得分:2)
你应该用这个:
TextView omg=(TextView)findViewById(R.id.textView);
for(String item:list){
omg.setText(omg.getText().toString()+item);
}
答案 1 :(得分:1)
你可以这样做:
String text = null;
for(String item:list){
text += (" " + item);
}
omg.setText(text);
您的情况 ArrayList<String>()
和ArrayList<>()
相同
答案 2 :(得分:1)
您将获得最后一个值,因为每次都会重写为for(Map.Entry entry:map.entrySet()){
System.out.print(entry.getKey() + " : " + entry.getValue());
}
因此您可以使用TextView
或者您必须附加文字。
示例强>
StringBuilder
答案 3 :(得分:1)
setText()在循环中设置ArrayList中的最终文本。最好使String变量并附加在它们上面。然后设置文本。
ArrayList<String> list=new ArrayList<>();
list.add("SuperMan");
list.add("BatMan");
list.add("Xman");
list.add("WhatEverMan");
TextView omg=(TextView)findViewById(R.id.textview);
String s = "";
for(String item:list){
s+=item+"\n";
}
omg.setText(s);``
}