#android #view #scroll #scrollview #android-linearlayout
Вопрос:
Я добавляю дочерний элемент в linearlayout внутри scrollview linearlayout .addview(дочерний элемент); внутри цикла for, затем я хочу перейти к любому дочернему элементу I по коду, позиции или номеру
Комментарии:
1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Вы можете использовать scrollView.smoothScrollTo
. Допустим , вы используете TextView
в качестве ребенка linearLayout
, тогда вы можете сделать это:
val listItem = listOf<Item>()
val selectedIndex = 5
var selectedView: TextView? = null
listItem.forEachIndexed { index, item ->
/*
inflate your child layout here
*/
val view = LayoutInflater.from(context).inflate(R.layout.row, parentLinearLayout, false)
val textView = view.findViewById<TextView>(R.id.title_text)
if(index == selectedIndex){
selectedView = textView
}
parentLinearLayout.addView(textView)
}
scrollView.post {
scrollView.smoothScrollTo(0, selectedView.top)
}