Android: BaseAdapter как? - PullRequest
       23

Android: BaseAdapter как?

2 голосов
/ 12 февраля 2009

Хорошо, я искал что-то новое, и у меня возникли некоторые проблемы с реализацией BaseAdapter.

Мне удалось реализовать простой адаптер курсора http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html как в примере выше.

Здесь есть довольно хороший пример BaseAdapter: List14 google example

Я хочу создать свой собственный адаптер списка, используя BaseAdapter для отображения listView, с несколькими элементами из базы данных. Я знаю, что это можно сделать с помощью адаптера простого курсора, но я стараюсь по-разному обрабатывать строки, поэтому я хочу иметь возможность рисовать каждую строку путем переопределения getView. Данные будут извлечены из курсора.

Я знаю, что этот код ужасен для доступа к данным курсора, но при условии, что я заполнил курсор. Какие у вас есть предложения, если в столбце 8 указан идентификатор ресурса изображения. :

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    cursor.moveToPosition(position);
    ImageView i = new ImageView(mContext);
    i.setImageResource(cursor.getShort(8));
    i.setAdjustViewBounds(true);
    i.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    return i;
}

Есть ли у вас хорошие примеры BaseAdapter, нарисованного с помощью курсора?

1 Ответ

4 голосов
/ 31 марта 2011

Попробуйте вызвать notifyDataSetChanged() из метода внутри самого BaseAdapter.

См. Методы в List8 API-демо в качестве примера.

...