Android - Как использовать одну запись (курсор) для заполнения данных для нескольких элементов списка в ListView? - PullRequest
0 голосов
/ 26 ноября 2011

Кто-нибудь знает, как выполнить следующее требование?

При запросе к базе данных возвращается только одна запись. Эта запись будет использоваться для заполнения нескольких элементов списка в ListView (скажем, 5 записей).

Поскольку это только одна запись, я сталкиваюсь с трудностями при заполнении записей от второй до пятой.

public class TestCursorAdapter extends CursorAdapter {
    List list = new ArrayList();

    public TestCursorAdapter (Context context, Cursor c, boolean autoRequery) {
        super(context, c, autoRequery);
            list.add("Test 1");
            list.add("Test 2");
            list.add("Test 3");
            list.add("Test 4");
            list.add("Test 5");
    }

    public View newView(Context context, Cursor cursor, ViewGroup parent) {
           // cursor will only return one record, but it needs to populate five records (list size is 5)
    }         

    public void bindView(View view, Context context, Cursor cursor) {
           // cursor will only return one record, but it needs to populate five records (list size is 5)
    }

    public int getCount() {
        return list.size();
    }

    public int getViewTypeCount() {
            return 5;
    }
}

Я использую CursorLoader для запроса данных из базы данных.

Спасибо

1 Ответ

0 голосов
/ 26 ноября 2011

CursorAdapter подходит только для Cursors определенного формата, с одной строкой в ​​строке в ListView.Вам лучше написать собственное расширение BaseAdapter, данные бэк-которого которого являются вашими уникальными Cursor.Тогда вы можете точно указать, как получить данные для каждой позиции в getView().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...