«TextView» внутри «ScrollView» прекращает прокрутку при прокрутке родительского «ScrollView».Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 «TextView» внутри «ScrollView» прекращает прокрутку при прокрутке родительского «ScrollView».

Сообщение Anonymous »

Вопрос:
Я работаю над приложением для 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">









Код Kotlin:

Код: Выделить всё

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 находится под контролем.
Вопрос:
Как я могу убедиться в этом? что каждый TextView прокручивается независимо внутри ScrollView, даже если на главной странице много контента?

Подробнее здесь: https://stackoverflow.com/questions/788 ... lview-is-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»