在Android中的ListView中显示数据

时间:2014-05-26 21:30:02

标签: android sqlite listview

我正在从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);
}

1 个答案:

答案 0 :(得分:0)

您可以使用CursorAdapter,它允许您指定行布局以及如何从光标中的列映射到布局中的视图;或者您可以编写自己的适配器实现,该实现从BaseAdapter扩展并由Cursor内部支持。我建议你看The World of ListView