嗨,我正在读取 sqlite 数据库数据并将其存储到字符串缓冲区中。我想在android中的 ListView 中显示它。我面临着小问题。请帮我解决这个问题。
String studentno=cursor.getString(1);
String date=cursor.getString(2);
buffer.append("student: "+studentno+" Time:"+date+"\n");
String data=buffer.toString();
Log.d("student: "+studentno+" Time:"+date);
输出是:学生:1234 时间:12:13
学生:1234 时间:12:14
学生:1234 时间:12:15
我想像这样存储字符串缓冲区
值[0]=学生:1234 时间:12:13
值[1]=学生:1234 时间:12:14
值[2]=学生:1234 时间:12:15
我尝试了下面的编码,但它不起作用。
String[] values = data.split("");
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
有什么办法可以做到这一点吗?提前致谢。
最佳答案
您似乎正在将数据添加到缓冲区中,并在末尾添加新的行分隔符。拆分它们应该如下所示:data.split("\n");
然而,这似乎不是一个好主意。主要是因为您可能拥有非常大的数据集,而拆分是一项昂贵的操作。
为什么不创建 ArrayList<String>
并调用list.add("student: " + studentno + " Time: " + date)
或者其他更有效的结构?
代码:
List<String> list = new ArrayList<String>();
String studentno=cursor.getString(1);
String date=cursor.getString(2);
list.add("student: " + studentno + " Time: " + date);
关于java - 如何将字符串缓冲区存储到字符串数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29010437/