Java 如何在Android中向数组中添加项而不是重写?
我有以下代码:Java 如何在Android中向数组中添加项而不是重写?,java,android,arrays,Java,Android,Arrays,我有以下代码: 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(
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
中向用户显示它们。代码打印正确的值,但当用户单击按钮时,它不会一直添加到数组中,而是覆盖以前的值
有人能解决这个问题吗
for(String[] str : data) {
System.out.println("ArrayContents" + Arrays.toString(str));
txtResults.setText(Arrays.toString(str));
}
在foreach循环中设置textview的文本,因此textview中显示的字符串仅为列表中的最后一对字符串
尝试先在循环中附加字符串,然后将其添加到TextView,例如:
String a;
for(String[] str : data) {
System.out.println("ArrayContents" + Arrays.toString(str));
a+=(Arrays.toString(str));
}
txtResults.setText(a);
使用适当的TextView方法代替SetText,但为什么要将数组添加到arraylist?您可以将它们直接添加到ArrayList何时初始化变量“data”?请添加更多代码。确保您没有在
onClick
方法中初始化ArrayList
。将数组添加到ArrayList是因为稍后我将结果导出到一个CSV文件,该文件将字符串数组作为其参数。