我有以下代码:
if(v == btn) {
data.add(new String[]{txtCount.getText().toString() + txtTally.getText().toString()});
System.out.println("Contents" + data);
for(String[] str : data) {
System.out.println("ArrayContents" + Arrays.toString(str));
txtResults.setText(Arrays.toString(str));
}
}
第一行从我的两个TextView
字段创建一个字符串数组,并将它们添加到ArrayList
。
下面的循环应该按顺序打印出数组的内容,并在每次用户点击按钮时将其显示给另一个TextView
的用户。代码打印正确的值,但在用户单击按钮时不会继续添加到数组,而是覆盖以前的值。
有没有人有解决方案?
答案 0 :(得分:0)
for(String[] str : data) {
System.out.println("ArrayContents" + Arrays.toString(str));
txtResults.setText(Arrays.toString(str));
}
您在foreach循环中设置textview的文本,因此textview中显示的字符串只是List中的最后一对字符串。
尝试首先在循环中追加一个字符串,然后将其添加到TextView,例如:
String a;
for(String[] str : data) {
System.out.println("ArrayContents" + Arrays.toString(str));
a+=(Arrays.toString(str));
}
txtResults.setText(a);