如何使用SimpleCursorAdapter从数据库填充列表视图

时间:2012-03-13 15:52:35

标签: android android-listview android-sdcard simplecursoradapter

我从数据库中获取了一些数据并尝试将它们填入列表视图中。 我已通过cursor.count()检查存在数据,但listview显示任何内容:/

我使用simpleCursorAdapter:

    rubDb.open();   
    cur = rubDb.getRubParent();     
    startManagingCursor(cur);
    Log.d("cursor length",Integer.toString(cur.getCount()));
    String[] from = new String[] { RubriqueDbAdapter.RUB_NOM, RubriqueDbAdapter.RUB_VISUEL };       
    int[] to = new int[] {R.id.title, R.id.icon};
    listAdapter = new SimpleCursorAdapter(this,  R.layout.itemgauche, cur, from, to);
    listeGauche.setAdapter(listAdapter);


public Cursor getRubParent() {              
    Cursor cursorResults = mDb.rawQuery("SELECT * FROM " + TABLE_RUBRIQUE + " WHERE rub_id_parent = 0 ORDER BY rub_ordre ASC", null);       
    return cursorResults;
}

如何从SD卡中获取图片并将其放在listview中的ImageView上?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

首先,您应该使用CursorAdapter,也许是SimpleCursorAdapter,而不是手动将所有数据复制到数组中的对象,只是为了使用ArrayAdapter

其次,如果你的列表是任何而不是一段简单的文字,你必须 适配器如何做其他事情你要。使用SimpleCursorAdapter,您可以将ViewBinder与其关联,或将SimpleCursorAdapter子类与您重置setViewImage()或子类SimpleCursorAdapter并覆盖bindView()。< / p>