很抱歉,如果这个问题看起来太容易了,但我是新手,我还在学习!
我想做的是将setText设置为textview。我想打印一个arraylist的前5个字符串。因此我做了以下事情:
for (int i = 0; i < 5; i++) {
String date_time = allDate_time.get( i );
String date = date_time.substring( 0, date_time.indexOf( "T" ) );
String time = date_time.substring( date_time.indexOf( "T" ) + 1, date_time.indexOf( "+" ) );
textView2.setText( allId.get( i ) + " " + allTemp.get( i ) + " " + allHum.get( i ) + " " + allBat.get( i ) + " " + allMode.get( i ) + " " + date + " " + time + " " + allLux.get( i ) + "\n" );
}
不幸的是,我怀疑setText会删除过去的数据,而只是打印最后一种可能性。有什么我可以做的,所以setText不会删除过去的数据吗?
修改的
textView2.append();
这对我有用。非常感谢您的回答!
答案 0 :(得分:1)
使用Append方法代替setText方法
答案 1 :(得分:1)
在循环之前定义StringBuilder并将文本追加到构建器,然后在循环之后将值添加到textview。
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < 5; i++) {
String date_time = allDate_time.get( i );
String date = date_time.substring( 0, date_time.indexOf( "T" ) );
String time = date_time.substring( date_time.indexOf( "T" ) + 1, date_time.indexOf( "+" ) );
stringBuilder.append(allId.get( i ) + " " + allTemp.get( i ) + " " + allHum.get( i ) + " " + allBat.get( i ) + " " + allMode.get( i ) + " " + date + " " + time + " " + allLux.get( i ) + "\n" )
}
textview.settext(stringBuilder.toString())
答案 2 :(得分:1)
设置可以像这样的文字
textview.setText(textview.getText().toString + "Your new text here");
答案 3 :(得分:1)
您可以尝试这种简单方法
textView2.setText("");
for (int i = 0; i < 5; i++) {
String date_time = allDate_time.get( i );
String date = date_time.substring( 0, date_time.indexOf( "T" ) );
String time = date_time.substring( date_time.indexOf( "T" ) + 1, date_time.indexOf( "+" ) );
String toText = textView2.getText().toString()+allId.get( i );
textView2.setText(toText );
}
希望它有效。