android数据库显示在列表视图显示一行
问题描述:
我有一个数据库,我想在列表视图中显示。 我有一些工作。继承人的代码:android数据库显示在列表视图显示一行
Cursor cursor = myDataBase
.rawQuery(
"SELECT * FROM Accelerometer where cur_timestamp<'2012-09-04 11:36:25'",
null);
while (cursor.moveToNext()) {
// Which column you want to exprort
String arrStr[] = { cursor.getString(0)+" | " + cursor.getString(1)+" | " + cursor.getString(2)+" | "+ cursor.getString(3)+" | " + cursor.getString(4)+"\n" };
if (arrStr.length != 0) {
Log.d("TravellerLog :: ", Arrays.toString(arrStr));
//data.setText(Arrays.toString(arrStr));
ListView listView = (ListView) findViewById(R.id.listView1);
// a listát berakni aegy arraylist-be
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,
arrStr);
listView.setAdapter(adapter);
} else {
Log.e("TravellerLog :: ", "Üres a tömb!");
}
}
cursor.close();
我应该在更改代码以得到它的工作要列出所有我想要 非常感谢你的答案行?!
答
您正在初始化while循环中的列表视图和适配器.. 这意味着为每个db行创建一个新列表。
List<String> arrStr = new Vector<String>();
while (cursor.moveToNext()) {
// Which column you want to exprort
arrStr.add(cursor.getString(0)+" | " + cursor.getString(1)+" | " + cursor.getString(2)+" | "+ cursor.getString(3)+" | " + cursor.getString(4)+"\n");
if (arrStr.length != 0) {
Log.d("TravellerLog :: ", Arrays.toString(arrStr));
//data.setText(Arrays.toString(arrStr));
} else {
Log.e("TravellerLog :: ", "Üres a tömb!");
}
}
cursor.close();
ListView listView = (ListView) findViewById(R.id.listView1);
// a listát berakni aegy arraylist-be
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1,
arrStr);
listView.setAdapter(adapter);
答
连接到数据库,并通过使用SELECT查询语句从数据库中获得的价值....
我怎样才能把它从while循环bacause不知何故,我试试吧,我不能:?/ – david
更新了我的答案,但没有测试.. – Nermeen
与编辑:arrStr不能被解析为一个类型 – david