Перехватить ссылку LinkMovementMethod с помощью диалога Да / Нет - PullRequest
0 голосов
/ 14 мая 2018

У меня есть стандарт LinkMovementMethod, установленный в моем TextView для продвижения веб-активности, когда пользователь нажимает на ссылку.Тем не менее, я хочу создать диалоговое окно «Вы хотите увидеть ссылку», а не переводить пользователя прямо на веб-страницу.Я пытался переопределить сенсорные методы, но все становится немного запутанным.Небольшая помощь?

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете сделать это двумя способами:

  • Создание пользовательских диапазонов : более сложный, но вы можете сделать более персонализированный текст, состоящий из интерактивных частей (или жирного шрифта, различного цвета).так далее).Чтобы узнать больше, ознакомьтесь с ClickableSpan и SpannableStringBuilder
  • Расширить LinkMovementMethod, чтобы принять пользовательский прослушиватель кликов

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

  1. Скопируйте этот класс Java: InternalLinkMovementMethod в ваш проект
  2. Добавьте в этот пользовательский метод перемещения ссылок вашего TextView.один, предоставляющий прослушиватель кликов:
OnLinkClickedListener clickListener = new OnLinkClickedListener() {
    @Override
    public boolean onLinkClicked(String linkText) {
        // here you can handle your click, eg show the dialog
        // `linkText` is the text being clicked (the link)
        // return true if handled, false otherwise
    }
}

yourTextView.setMovementMethod(new InternalLinkMovementMethod(clickListener));
...