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