我想尝试将字符串数组设置为textview的文本。我怎么能这样做?
以下是我到目前为止所尝试的内容:
String[] word = { "Pretty", "Cool", "Weird" };
tv.setText( word.length );
但这会引发一些错误。我是Android / Java的新手
答案 0 :(得分:18)
word.length
为您提供数组的长度,而不是内容。您的意思是将内容设置为tv
。您可以使用Arrays#toString
方法: -
String[] word = { "Pretty", "Cool", "Weird" };
// Prints [Pretty, Cool, Weird]
tv.setText(Arrays.toString(word));
// Prints Pretty, Cool, Weird
tv.setText(Arrays.toString(word).replaceAll("\\[|\\]", ""));
答案 1 :(得分:6)
TextView.setText()将CharSequence
作为第一个参数,因此如果您在int
的情况下传入word.length
,编译器会抱怨。
使用增强的for循环:
String[] word = { "Pretty", "Cool", "Weird" };
StringBuilder builder = new StringBuilder();
for (String s: word) {
builder.append(s);
builder.append(" ");
}
tv.setText(builder.toString().trim()); // .trim to remove the trailing space.
或者从Java 8开始:
tv.setText(String.join(" ", word));