ArrayAdapter не принимает RelativeLayout в качестве ресурса строки - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь создать ListView, используя следующий код:

setListAdapter(new ArrayAdapter<String>(this, R.layout.settings_items, settingsLabels));

С settingsLabels - массив строк, а settings_items - RelativeLayout, включая TextView и ImageView К сожалению, я не могу разобрать это как ресурс. Как мне правильно реализовать это? Источник ImageView один и тот же независимо от элемента. Какой самый простой способ обойти это?

РЕДАКТИРОВАТЬ settings_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/settings_item_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <ImageView
        android:id="@+id/image_leftarrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="2dp"
        android:src="@android:drawable/ic_media_play" />

</RelativeLayout>

Ответы [ 2 ]

4 голосов
/ 23 февраля 2012

Измените свой код для создания адаптера следующим образом:

setListAdapter(new ArrayAdapter<String>(this, R.layout.settings_items, R.id.id_of_textView, settingsLabels));
3 голосов
/ 23 февраля 2012

Используйте этот конструктор:

setListAdapter(new ArrayAdapter<String>(this, R.layout.settings_items, R.id.id_of_textView, settingsLabels));

Используемый вами конструктор требует, чтобы предоставленный макет был TextView. Вот ссылка из документации о конструкторах: http://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter%28android.content.Context,%20int,%20int,%20java.util.List%3CT%3E%29

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