Почему первый элемент моего списка использует другой селектор на планшетах?

Это происходит на Google Nexus 10, и он работает должным образом на телефонах


Поэтому мне нужна репутация, прежде чем я смогу публиковать изображения, но вы можете проверить это здесь: http://i.imgur.com/2tG6b0h.png

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


Мой селектор списка выглядит примерно так:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/transparent" android:state_window_focused="false"/>
<item android:drawable="@drawable/rounded_list_selector_disabled_holo_dark" android:state_enabled="false" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@drawable/rounded_list_selector_disabled_holo_dark" android:state_enabled="false" android:state_focused="true"/>
<item android:drawable="@drawable/list_selector_background_transition_holo_dark" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@drawable/list_selector_background_transition_holo_dark" android:state_focused="false" android:state_pressed="true"/>
<item android:drawable="@drawable/rounded_list_focused_holo" android:state_focused="true"/>

1 ответ

Решение

У меня была та же проблема с Galaxy Note 10.1, и я подумал, что это будет связано с аппаратным обеспечением. Но на самом деле я использовал неправильную процедуру ListView.

К сожалению, я не знаю, какой ("неправильный") метод я вызывал, но вы ищете:

ListView.setItemChecked(int position, boolean checked)

В SingleChoiceMode может потребоваться снять флажок с ранее проверенного элемента.

Дайте мне знать, работает ли это.

Редактировать 2: Удалено мое предыдущее редактирование (было бесполезно)

Другие вопросы по тегам