我有一个LinearLayout,里面有一些其他的LinearLayouts。子布局具有背景选择器集。我需要在按下子项时更改父布局的颜色。我也为父级设置了一个背景选择器,但它只在单击任何子级外部时触发。
我该如何避免这种情况?
谢谢!
答案 0 :(得分:44)
尝试将其添加到父LinearLayout的布局属性中:
android:addStatesFromChildren="true"
或者,在代码调用中:
parentLayout.setAddStatesFromChildren(true);
在任何一种情况下,请确保子布局不设置android:duplicateParentState
属性(并且不要调用setDuplicateParentState(true)
),否则您将获得例外系统检测到循环依赖时的运行时间。