我写了一些这样的东西来从数据库中获取数据。
public String getData() {
// TODO Auto-generated method stub
String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_SCORE};
Cursor c = ourDatabase.query(
DATABASE_TABLE, columns, null, null, null, null, null);
String result = "";
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(KEY_NAME);
int iHotness = c.getColumnIndex(KEY_SCORE);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getString(iHotness) + "\n";
}
return result;
}
我可以将数据显示到textview中。但是我希望将数据显示到listview中,任何人都可以建议我或者给我一个示例代码来将数据显示到listview中。我已经使用了list.xml并将listview放入其中。我想从数据库中获取数据。
提前感谢。
答案 0 :(得分:1)
在列表中显示数据并不像说getListView().setData(myData);
首先,创建一个列表适配器,这是一个获取一些数据的类(通常作为一个ArrayList),并以列表可以读取的方式将它“提供”到列表中。
查看开发人员文档:http://developer.android.com/reference/android/widget/ListAdapter.html
还有一些教程:
答案 1 :(得分:1)
public String[] getData() {
// TODO Auto-generated method stub
String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_SCORE};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
//Initialise the result variable
String[] result = new String[c.getCount()];
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(KEY_NAME);
int iHotness = c.getColumnIndex(KEY_SCORE);
int counter = 0;
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
result[counter] = c.getString(iRow) + " " + c.getString(iName) + " " + c.getString(iHotness) + "\n";
counter++;
}
return result;
}
然后在ListView onCreate中,将结果字符串添加到适配器。
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, result));