Как использовать изображение в ListView из базы данных в Android? - PullRequest
1 голос
/ 08 сентября 2010

У меня есть ListView:

...

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="?android:attr/colorBackground"
    android:cacheColorHint="?android:attr/colorBackground"
    android:choiceMode="singleChoice"
    android:drawSelectorOnTop="false"
    android:fadingEdge="none"
    android:fastScrollEnabled="true"
    android:scrollingCache="true" />

...

и макет для элементов списка:

...

<ImageView
    android:id="@+id/folder_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingRight="5dip"
    android:paddingTop="3dip"
    android:src="@drawable/icon_folder" />

<TextView
    android:id="@+id/fol_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/folder_image"
    android:textSize="22dip" />

...

ListView заполняется из базы данных с использованием setListAdapter(SimpleCursorAdapter).Для каждой строки я хочу отобразить изображение (значок папки).Однако для двух конкретных строк (предположим, я знаю, как идентифицировать строки, используя, например, какой-то индикатор), я хотел бы отображать разные изображения.Давайте предположим, что у меня есть неопределенное количество папок, и значок папки будет отображаться для каждой строки рядом с именем папки.Предположим также, что у меня есть, например, документ Word и файл Excel, по одному для каждого, и я хотел бы отобразить соответствующие изображения для каждого.

1 Ответ

0 голосов
/ 08 сентября 2010

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

...