Итак, у меня есть эта функция расширения для ViewGroup
:
inline fun <reified T : View> ViewGroup.allViewsOfType(action: (T) -> Unit)
{
val views = Stack<View>()
afterMeasured {
views.addAll((0 until childCount).map(this::getChildAt))
}
while (!views.isEmpty()) {
views.pop().let {
if (it is T) action(it)
if (it is ViewGroup) {
afterMeasured {
views.addAll((0 until childCount).map(this::getChildAt))
}
}
}
}
}
И я использую ее так:
tabs.allViewsOfType<Button> { Log.i("Dale", it.text.toString()) }
Но почему-то это не работает.Что-то, что я делаю неправильно?
Кстати, tabs
- это LinearLayout
, который содержит три Button
с.