Android: выберите родительский селектор при выборе дочернего элемента.

У меня есть LinearLayout с некоторыми другими LinearLayouts внутри. Макеты детей имеют набор фоновых селекторов. Мне нужно изменить цвет родительского макета, а также при нажатии детей. Я также установил селектор фона для родителя, но он запускается только при нажатии за пределами любых дочерних элементов.

Как я могу избежать этого?

Спасибо!

Ответы

Ответ 1

Попробуйте добавить это к атрибутам макета для родительского LinearLayout:

android:addStatesFromChildren="true"

Альтернативно, при вызове кода:

parentLayout.setAddStatesFromChildren(true);

В любом случае убедитесь, что дочерние макеты не имеют набора атрибутов android:duplicateParentState (и не вызывают setDuplicateParentState(true)), либо вы получите исключение во время выполнения, когда система обнаруживает циклическую зависимость.