0

Я получаю некоторые данные из базы данных и пытаюсь их заполнить в виде списка. я проверил через cursor.count() есть данные существуют, но ListView показать все:/Как заполнить список из базы данных с помощью SimpleCursorAdapter

Я использую 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; 
} 

, как я могу получить картину из SDCard и поставить его на ImageView в списке?

Благодарим за помощь!

+0

опубликуйте метод getView() из вашего класса адаптера. – FoamyGuy

+0

Я не переопределял getView(): s – Remy

+0

ok, я делаю customlistadapter, который расширяет ArrayAdapter, здесь метод getView(), но теперь, как setText с правой выпиской из базы данных? tx – Remy

ответ

1

Прежде всего, вы должны использовать CursorAdapter, возможно, SimpleCursorAdapter, вместо того, чтобы вручную копировать все данные в объекты в массиве, просто используйте ArrayAdapter.

Во-вторых, если ваш список будет ничего кроме простой кусок текста, вы должны научить адаптер, как сделать все, что вы хотите. С помощью SimpleCursorAdapter вы можете связать с ним ViewBinder или подкласс SimpleCursorAdapter и переопределить setViewImage() или подкласс SimpleCursorAdapter и переопределить bindView().

+0

ну ... это звучит немного сложно. – Remy

+0

@Remy: Это, вероятно, меньше кода, чем вы уже писали. – CommonsWare

+0

Я собираюсь попробовать это ... спасибо – Remy

 Смежные вопросы

  • Нет связанных вопросов^_^