Фон
У меня есть макет, который имеет некоторые особые состояния (например, проверка/нажатие), и я хочу, чтобы его дочерние элементы применяли свои собственные объекты рисования на основе этот макет.
Я ищу альтернативу установке для duulateParentState значения true для каждого из его дочерних элементов (и, возможно, даже для всех его потомков). ).
Что я пробовал
Я пытался сделать так, чтобы пользовательское представление имело атрибут установил его для каждого из своих дочерних элементов, но я не смог найти, в каком вызове метода применить этот атрибут ко всем его дочерним элементам. в каждом методе, который я пробовал, он либо возвращает 0 для getChildCount(), либо просто ничего не делает с самим дочерним элементом (используя setDuplateParentStateEnabled()).
Проблема
как сказано в документации, использование setDuplateParentStateEnabled ничего не даст в тех случаях, когда мне это нужно:
Примечание: в текущей реализации установка для этого свойства значения true
после добавления представления в ViewGroup может вообще не иметь эффекта.
Это свойство всегда должно использоваться из XML или иметь значение true перед
добавлением этого представления в ViewGroup.
чтобы оно кажется, я использую его слишком поздно, но мне нужно вызвать его поздно, поскольку дочерние элементы еще не существуют в родителе...
Вопрос
Как я могу добиться этой функциональности, избегая установки дубликата ParentState для каждого дочернего элемента и просто устанавливая его в родительское представление?
Подробнее здесь: https://stackoverflow.com/questions/202 ... child-view