Почему первый элемент моего списка использует другой селектор на планшетах?
Это происходит на 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: Удалено мое предыдущее редактирование (было бесполезно)