Вы можете сделать это двумя способами:
- Создание пользовательских диапазонов : более сложный, но вы можете сделать более персонализированный текст, состоящий из интерактивных частей (или жирного шрифта, различного цвета).так далее).Чтобы узнать больше, ознакомьтесь с ClickableSpan и SpannableStringBuilder
- Расширить
LinkMovementMethod
, чтобы принять пользовательский прослушиватель кликов
На мой взгляд, второе решение лучше в базовых случаях, таких как ваш.Вот как вы можете это сделать:
- Скопируйте этот класс Java: InternalLinkMovementMethod в ваш проект
- Добавьте в этот пользовательский метод перемещения ссылок вашего 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));