我的表格动态添加了EditText
&{39}和TextView
的行。我设法从这些框中获取文本并将其写入.txt文件。我使用ArrayList
&#39喜欢
ArrayList<TextView> allTimes = new ArrayList<TextView>();
ArrayList<EditText> allNumber = new ArrayList<EditText>();
并添加了
等文本框的内容TextView dt = new TextView(this);
allDates.add(dt);
EditText et3 = new EditText(this);
allNumber.add(et3);
然后我将它们组合成一个字符串数组
String[] stringsDat = new String[allDates.size()];
String[] stringsNum = new String[allNumber.size()];
for (int i = 0; i < allDates.size(); i++) {
stringsDat[i] = allDates.get(i).getText().toString();
stringsNum[i] = allNumber.get(i).getText().toString();
}
List<String> stringsAll = new ArrayList<>();
Collections.addAll(stringsAll, stringsDat);
Collections.addAll(stringsAll, stringsNum);
String[] finalArray = stringsAll.toArray(new String[stringsAll.size()]);
然后保存为FileWriter
FileWriter writer = new FileWriter(getExternalStorageDirectory() + "sample.txt");
for (String stringsAllAll : finalArray) {
writer.write(stringsAllAll);
}
它工作正常但我的问题是我在一行之后得到了文本。我一行一行地需要它们,例如:
现在看起来像这样:
2016-12-27 2016-12-27 2016-12-27 2016-12-27 2016-12-27 41 12 33 66 59
它看起来应该是这样的
2016-12-27 41
2016-12-27 12
2016-12-27 33
2016-12-27 66
2016-12-27 59
那么,有没有办法做到这一点?或者这是一个糟糕的方法?获取每个TableRow
的内容会更容易,但我无法弄清楚如何做到这一点。你能救我吗?
答案 0 :(得分:0)
使用String.split().
String multiLines = edittext.getText().toString();
String delimiter = "\n";
或您认为需要的任何分隔符,空格键,下划线等
streets = multiLines.split(delimiter);
答案 1 :(得分:0)
在文件中写入数据时添加换行符。我假设你的两个数组(stringsDat和stringsNum)都有相同数量的数据。
for(int count = 0 ; count < stringsDat.length() ; count++) {
// Output will be - 2016-12-27 41
writer.write(stringsDat[i] + " " + stringsNum[i] + "\n");
}