Я работаю над приложением для Android, в котором динамически добавляю пользовательские представления, содержащие элементы TextView внутри ScrollView. Каждый TextView предназначен для независимой прокрутки, но я столкнулся с проблемой: если я помещаю слишком много контента в основной макет, TextView перестает прокручиваться, когда родительский ScrollView прокручивается.
Структура макета:
- У меня есть ScrollView с LinearLayout внутри него.
- Каждый дочерний элемент LinearLayout представляет собой собственный макет (созданный из шаблона XML), содержащий несколько элементов TextView, некоторые из которых необходимо с возможностью прокрутки.
Код: Выделить всё
view_list_template.xml
Код: Выделить всё
Код: Выделить всё
view_list.xml
Код: Выделить всё
[*] android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
Код: Выделить всё
val container = findViewById(R.id.container)
val mainScrollView = findViewById(R.id.mainScrollView)
for (card in flashCardStorage) {
val cardLayout = LayoutInflater.from(this).inflate(R.layout.view_list_template, container, false) as RelativeLayout
val questionTextView = cardLayout.findViewById(R.id.textViewQ)
// Set text and other properties
questionTextView.text = card.question
// Add card layout to container
container.addView(cardLayout)
}
Когда я пытаюсь прокрутить TextView (с id=textViewQ) независимо, он перестает отвечать если в основном элементе ScrollView достаточно содержимого. Кажется, что основной элемент ScrollView берет на себя прокрутку, предотвращая прокрутку TextView.
Что я пробовал:
- Настройка android:nestedScrollingEnabled="true" для TextView.
- Использование requestDisallowInterceptTouchEvent(true) в OnTouchListener.
- Убедитесь, что TextView имеет вертикальные полосы прокрутки и достаточно строк для переполнения содержимого.
Вопрос:
Как я могу убедиться в этом? что каждый TextView прокручивается независимо внутри ScrollView, даже если на главной странице много контента?
Подробнее здесь: https://stackoverflow.com/questions/788 ... lview-is-s