Android: SimpleCursorAdapter с ListView — помещает несколько полей из БД в TextView

#android #listview #cursor #adapter

#Android #listview #курсор #адаптер

Вопрос:

Я новичок в разработке Android, поэтому я даже не уверен, лучший ли это способ сделать это или нет. Так что, если у вас есть другой подход к моей проблеме, не стесняйтесь давать советы ma.

Мой план довольно прост. У меня есть таблица, которая содержит player, эта таблица содержит, помимо других полей, имя и фамилию.

Я хочу отобразить всех игроков в ListView. Используемый мной SimpleCursorAdapter позволяет мне сопоставить одно поле базы данных с одним Textview. Но я хочу отобразить имя и фамилию в одном текстовом представлении. Как мне это сделать?

Вот код, который я получил:

     String[] fromFieldNames = new String[]{
        DatabaseLayout.Player.COLUMN_FIRSTNAME,
        DatabaseLayout.Player.COLUMN_LASTNAME
    };

    int[] toViewIds = new int[]{
        R.id.txt_item_playerName,
        R.id.txt_item_playerLastName
    };

    SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.item_lv_player, cursor, fromFieldNames, toViewIds);

    ListView lvPlayer = (ListView) findViewById(R.id.lvPlayer);
    lvPlayer.setAdapter(cursorAdapter);
  

Заранее спасибо,
Мазен

Комментарии:

1. или (более продвинутое решение) используйте CursorWrapper

Ответ №1:

Вы должны реализовать свой собственный подкласс адаптера массива. Попробуйте этот урок: http://www.vogella.com/tutorials/AndroidListView/article.html