Intereting Posts
android studio "ошибка: не удается найти или загрузить основной класс" в основном методе файла Kotlin Каков правильный способ работы с полями в Котлине? Каков канонический способ преобразования массива <Byte> в ByteArray Конкатенация последовательности Котлина Расширенное назначение и приращение не поддерживаются для локальных делегированных свойств и встроенных свойств В Kotlin, как я могу создать экземпляр класса с использованием собственного параметра java? Android ViewModelProviderFactory в Котлине Восстановить N-арное дерево из списка Android-приложение без классов? Получение ошибки «Несовместимые типы» при использовании кода, сгенерированного из класса данных Kotlin Можно выбрать версию Android Studio kotlin? Использование с автоклином в Котлине Методы Java ошибочно автоматически перегружаются в котлин Перегрузка сеттера в Котлине java.lang.NoClassDefFoundError $$ inlined $ forEach $ lambda $ 1 в Котлине

Обработчик ссылки Clickable в TextView

Подобно этому вопросу SO, я пытаюсь отображать интерактивные ссылки в TextView: как сделать ссылки в TextView доступными?

Но я не хочу, чтобы ссылка открывала веб-сайт. Я хочу обработать событие click сам и, скажем, запустить действие. Вот что я имею до сих пор:

myTextView.movementMethod = object: LinkMovementMethod() { override fun onTouchEvent(widget: TextView?, buffer: Spannable?, event: MotionEvent?): Boolean { doTheThing() return super.onTouchEvent(widget, buffer, event) } } 

И на моем TextView:

 android:text="Foo <a href="bar">Bar</a>" 

Как и ожидалось, «Бар» подчеркивается синим цветом, но onTouchEvent срабатывает всякий раз, когда я нажимаю на весь TextView, в том числе на Foo. Я только хочу, чтобы он срабатывал, когда я нажимаю «Бар», потому что это подчеркнуто. Кроме того, что, если у меня было несколько ссылок в тексте? Как я могу заставить каждого реагировать по-другому?