Android ArrayList没有列出TextView中的所有元素

时间:2016-09-11 03:27:53

标签: android arraylist

我正在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;

4 个答案:

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