ВНИМАНИЕ: XML в этом вопросе неправильный, прочитайте ответ, прежде чем запутаться!
Я уже некоторое время бьюсь головой о стену.Следующие сообщения пролили свет на эту тему, но не смогли решить мою проблему: В списке состояний Android ListView не отображается фон элемента по умолчанию и Фон элемента ListView с помощью пользовательского селектора
Правильный фон из девяти пятен прекрасно отображается при выборе элемента списка, но я не могу получить фон из девяти пятен по умолчанию, который будет отображаться изначально.Мне кажется, что мне нужно как-то установить фон элемента по умолчанию, но я не могу понять, как это сделать.
Список:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/shopListHeader"
/>
<ListView
android:id="@+id/shopList"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="0px"
android:divider="#FFFFFFFF"
android:listSelector="@drawable/shop_list_selector"
/>
</LinearLayout>
Селектор:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:visible="true">
<!-- the list items are enabled and being pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/shop_list_item_pressed" />
<item
android:state_selected="true"
android:textColor="#FFFFFFFF" />
</selector>
Справочная информация:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:visible="true">
<item
android:state_selected="true"
android:drawable="@android:color/transparent" />
<item
android:drawable="@drawable/shop_list_item" />
</selector>
Как вы можете видеть, я перебрал примеры из ссылок.
Вы также можете заметить, что переключатель фона не работает.ссылка где угодно.Я начал подбрасывать его в случайных местах (если приложение скомпилировало дополнение или не имело никакого эффекта, или вызвало принудительное закрытие)
Я также попытался остановить изменение цвета текста на черный и серый, когдаэлемент выбран, но не нажат (можно сделать прокруткой списка).Так как мой фон будет черным в центре, текст становится частично невидимым при выделении.Насколько я могу судить, это дополнение (последний узел элемента в селекторе) ничего не делает.
Есть ли у кого-нибудь мысли по поводу того, как работает эта смехотворно трудоемкая функциональность?