Мой вопрос заканчивается глупым вопросом!После того, как я прочитал this ?, я должен был решить это просто.
В любом случае, чтобы ответить на мой собственный вопрос:
Я должен получить представление root от экземпляра привязки (" mBinding.getRoot ()") и затем могут перебирать дочерние представления, чтобы находить представления, почти используя что-либо, по любым атрибутам (например, по тэгу или по тегу transitionName и т. д.).
В моем случае я могу напрямую получить все дочерние представления, для которых установлено имя 'transitionName'
private fun getAllViewsWithTransitionName(root: ViewGroup): List<View> {
val views = mutableListOf<View>()
val childCount = root.childCount
for (i in 0 until childCount) {
val child = root.getChildAt(i)
if (child is ViewGroup) {
views.addAll(getAllViewsWithTransitionName(child))
}
val tagObj = child.transitionName
if (!tagObj.isNullOrBlank()) {
views.add(child)
}
}
return views
}
И теперь можно вызвать это, чтобы получить список всех представлений, имеющих TransitionName
getAllViewsWithTransitionName(mBinding.root)
То же самое можно использовать для получения всех представлений, которыеиметь тот же тег, определенный в XML.Просто замените эту строку:
val tagObj = child.transitionName
на
val tagObj = child.tag
Спасибо !!!!