Перестать работать state_pressed для родителя при попадании в представление внутри него

У меня есть ListView с довольно сложными предметами. Каждый элемент среди некоторых других элементов имеет RelativeLayout внутри него (назовем его AdditionalPanel). Когда я попадаю в область элемента, я хочу изменить его фон, но только если область, в которую я попал, не относится к AdditionalPanel. Если я нажму на дополнительную панель, я не хочу ничего делать.

Я создал два селектора и для item, и для AdditionalPanel, надеясь, что, если селектор для AdditionalPanel сработает, другой не сработает, но, к сожалению, он не работает. Даже если я нажму на AdditionalPanel, весь предмет все равно изменит свой фон.

Я пытался установить android:clickable="true" для дополнительной панели, но она только остановила получение предметов onClick событие. android:focusable=true" тоже не работает.

Пункт выбора:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/alarm_item_pressed_background" android:state_pressed="true"/>
<item android:drawable="@drawable/alarm_item_regular_background"/>

Выбор дополнительных панелей:

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

Любые идеи будут высоко оценены.

0 ответов

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