我正在从SQLite中检索数据并尝试在ListView中显示它。问题是我在数据库中有两列,listview只显示一列中的数据。我为此目的使用以下代码
public List<entry> getAllEntries() {
List<Entry> entries = new ArrayList<Entry>();
Cursor cursor = database.query(MySQLiteHelper.TABLE_ENTRIES,
allEntries, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Entry entry = cursorToEntry(cursor);
Entry entry1 = cursorToEntry(cursor);
Log.d(TAG, "get entry = " + cursorToEntry(cursor).toString());
entries.add(entry);
cursor.moveToNext();
Log.d(TAG, "get amount = "+ cursorToEntries(cursor).toString1());
entries.add(entry1);
cursor.moveToNext();
}
cursor.close();
return entries;
}
我也一直在尝试使用代码
while(cursor.moveToNext())
{
entries.add("Entry"+cursor.getString(1)+"Amount"+cursor.getString(2));
}
这就是我在ListView中显示它的方式
List<Entry> values = datasource.getAllEntries();
ArrayAdapter<Entry> adapter = new ArrayAdapter<Entry>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
答案 0 :(得分:0)
您可以使用CursorAdapter,它允许您指定行布局以及如何从光标中的列映射到布局中的视图;或者您可以编写自己的适配器实现,该实现从BaseAdapter扩展并由Cursor内部支持。我建议你看The World of ListView。