ArrayAdapter использует TextView для отображения каждого элемента внутри него. За кулисами он использует метод toString()
для каждого объекта, который он удерживает, и отображает это в TextView. ArrayAdapter имеет несколько конструкторов, которые могут использоваться, и тот, который вы использовали в вашем примере:
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
По умолчанию ArrayAdapter использует текстовый текст по умолчанию для отображения каждого пункт. Но если вы хотите, вы можете создать свой собственный TextView и реализовать любой сложный дизайн, который вам нужен, расширяя класс TextView. Это должно было бы зайти в макет для вашего использования. Вы можете ссылаться на это в поле textViewResourceId, чтобы привязать объекты к этому представлению, а не по умолчанию.
Для вашего использования я бы предположил, что вы используете конструктор:
ArrayAdapter(Context context, int resource, T[] objects).
В вашем случае это будет:
ArrayAdapter(this, android.R.layout.simple_list_item_1, values)
, и все должно быть хорошо. Это свяжет каждую строку с дисплеем TextView по умолчанию - простым и простым белым фоном.
Чтобы ответить на ваш вопрос, вам не нужно использовать textViewResourceId.
Я использую это, он отлично работает для меня
blockquote><?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#FFFFFF" /> <corners android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> <stroke android:width="1dp" android:color="#000000" /> </shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@android:color/darker_gray"/>
<corners android:topRightRadius="10dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="0dp"
android:bottomLeftRadius="10dp"/>
</shape>
Это мой drawable shape.xml в папке с возможностью переноса.
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:background="@drawable/shape"/>
Выполнено Это будет отображаться при запуске приложения на устройстве / эмуляторе (не будет отображаться в графическом макете xml)