如何在textView上显示ArrayList中的所有字符串值

时间:2018-01-12 17:07:30

标签: java string arraylist textview display

我有一个字符串,每秒都会收到不同的值。我想将所有值存储到ArrayList。问题是,当我试图显示所有值时,textView会更新到最后一个值。是否可以显示所有值;

我想显示如下值:500,400,300,200 ......

这是我的代码,

// that string receive a different value every second
// String values returns to me an integer 
String values = stringbuilder.substring(item + 1, endOfLineIndex); 


ArrayList<String> allvalues = new ArrayList<>();
allvalues.add(values);

for (int i = 0; i < allvalues.size(); i++) {       
   textView.setText(String.valueOf(allvalues));
}

2 个答案:

答案 0 :(得分:0)

一种解决方案是构建一个包含所有字符串的String,然后将textView设置为该字符串。它会是这样的:

StringBuilder sb = new StringBuilder();
for (int i = 0; i < allvalues.size(); i++) {
    sb.append(allvalues.get(i) + ", ");
}
textView.setText(sb.toString());

基于评论的更新

似乎values已包含您要显示的String。我不确定您是否需要在Array / ArrayList中存储任何值。以下是一些您可能会感兴趣的代码。

//Example values String based on OP's comments
String values = "100, 200, 300, 400, 500";
//If you need to store the values, this turns that String into a String[]
String[] valuesArray = values.split(", ");
//If you really want to store those values in an ArrayList instead of a regular Array, you can do this
ArrayList<String> valuesArrayList = new ArrayList<String>(Arrays.asList(valuesArray));
//Sets the textView to display the text, since values already reflects what you want to display
textView.setText(values);

答案 1 :(得分:0)

您想要使用分隔符连接字符串列表吗?是吗?

也许你可以尝试类似的东西。

public static void main(String args[]) {
    ArrayList<String> values = new ArrayList<>();

    values.add("Hi");
    values.add("how");
    values.add("are");
    values.add("you?");
    values.add("i'm");
    values.add("fine");
    values.add("thanks :)");


    System.out.println(String.join(" - ", values));
}

这段代码将输出:

  

嗨 - 怎么 - 是 - 你呢? - 我很好 - 谢谢:)