Я нашел решение ... parent.children - это последовательность
Я открыл источник и нашел его:
val ViewGroup.children: Sequence<View>
get() = object : Sequence<View> {
override fun iterator() = this@children.iterator()
}
Я думаю, что это не изменится ... выше этого кода в том же источнике, который я нашел
operator fun ViewGroup.iterator() = object : MutableIterator<View> {
private var index = 0
override fun hasNext() = index < childCount
override fun next() = getChildAt(index++) ?: throw IndexOutOfBoundsException()
override fun remove() = removeViewAt(--index)
}
Поэтому я изменил свой код на:
parent.iterator().forEach {
val params = it.layoutParams as RecyclerView.LayoutParams
val top = it.bottom + params.bottomMargin
val bottom = top + mDivisor!!.intrinsicHeight
mDivisor.setBounds(left, top, right, bottom)
mDivisor.setColorFilter(Color.GRAY, PorterDuff.Mode.SRC_IN)
mDivisor.draw(c)
}