ListView multi select - прозрачный цвет по умолчанию работает некорректно?

У меня есть множественный выбор в моем списке. Селектор выглядит так.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/wt_list_click" />
    <item android:state_selected="true" android:drawable="@color/wt_list_click" />
    <item android:state_activated="true" android:drawable="@color/wt_list_click" />
    <item android:drawable="@android:color/transparent" />
</selector>

Но не работает корректно. Какое-то странное поведение. В конце выделения всегда остается одна ячейка. Если я меняю цвет с прозрачного на любой другой, все работает правильно.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/wt_list_click" />
    <item android:state_selected="true" android:drawable="@color/wt_list_click" />
    <item android:state_activated="true" android:drawable="@color/wt_list_click" />
    <item android:drawable="@color/red" />
</selector>

В чем проблема, почему это так. Кто-нибудь может мне объяснить.

На картинке я сначала выбрал 5 ячеек, затем снял выделение с одной ячейки. Но 5 ячеек остались выделенными.

введите описание изображения здесь


person JDev    schedule 20.08.2016    source источник
comment
Что произойдет, если вы замените <item android:drawable="@android:color/transparent" /> на <item android:drawable="@color/transparent" />, определив color/transparent как #0000?   -  person Phantômaxx    schedule 20.08.2016
comment
@Rotwang - тот же эффект   -  person JDev    schedule 20.08.2016
comment
А что, если вы немного отклонитесь от полной прозрачности, например: определив color/transparent как #01010101?   -  person Phantômaxx    schedule 20.08.2016
comment
Вы пробовали это на нескольких устройствах ???   -  person VVB    schedule 20.08.2016
comment
@Rotwang Эта опция (# 01010101) тоже не работает. Тот же эффект.   -  person JDev    schedule 20.08.2016
comment
@VVB Да, как в эмуляторе, так и на разных устройствах.   -  person JDev    schedule 20.08.2016
comment
@ShaishavJogani - выложенный скриншот   -  person JDev    schedule 20.08.2016
comment
Попробуйте разные цветовые вариации. то есть: #0fff   -  person Phantômaxx    schedule 20.08.2016
comment
Я решил !!! Я основал stackowerflow. ‹ListView android: listSelector = @ android: color / transparent android: cacheColorHint = @ android: color / transparent /› и мой селектор в корневом макете из list_item android: background = @ drawable / list_item_click_selector   -  person JDev    schedule 20.08.2016
comment
Хороший! Затем ответьте себе и примите свой ответ. Не забудьте процитировать ссылку SO.   -  person Phantômaxx    schedule 20.08.2016


Ответы (1)


Я решил !!! Я основал stackowerflow.

<ListView android:listSelector="@android:color/transparent" android:cacheColorHint="@android:color/transparent" /> 

и мой селектор в корневом макете из list_item

android:background="@drawable/list_item_click_selector"

https://stackoverflow.com/a/12242564/1590594

person JDev    schedule 20.08.2016
comment
В ПОРЯДКЕ. Теперь вам нужно принять свой ответ, чтобы удалить это сообщение из очереди неотвеченных вопросов. - person Phantômaxx; 21.08.2016