TextView внутри ViewPager перехватывает события касания

У меня есть ViewPager который содержит два фрагмента. В любом из фрагментов я могу коснуться места, проведите пальцем, чтобы переключиться на другой fragment . Один из фрагментов содержит список. Элементы в списке содержат один TextView и один ImageView . Проблема в том, что если перетаскивание началось с нажатия на ImageView , все в порядке. Но если это было из TextView , перетаскивание никогда не было известно ViewPager , в результате «плавное переключение» никогда не произойдет.

Какой-нибудь ключ к этому?

РЕДАКТИРОВАТЬ

Эта фотография должна показать, как мой графический интерфейс. Если перетаскивание было начато с TextViewE, оно не начинается. Введите описание изображения здесь

Solutions Collecting From Web of "TextView внутри ViewPager перехватывает события касания"

Меня это тоже беспокоило, но мне удалось найти ответ.

В основном, случай: если представление может прокручиваться по горизонтали, оно перехватывает событие горизонтального движения, и ViewPager больше не может его обработать.

Поскольку API-интерфейс 14 уровня TextViews имеет android: свойство scrollHorizontallysetHorizontallyScrolling (boolean) ), которое, если установлено значение true, заставляет TextView перехватывать события горизонтального прокрутки.

Вы можете установить его в false либо в формате XML, либо в коде справа, но не смотрите : android: свойство singleLine force android: scrollHorizontally для установки в true ! Очень сложно ! Но, к счастью, вы обычно можете безопасно заменить свойство одиночной строки на android: maxLines = "1" и необходимое значение эллипсиса .

Удачи!

Вы можете переопределить onTouchEvent () TextView:

 @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE) { return false; } return super.onTouchEvent(event); }