У меня есть текст « Android - это программный стек ». В этом тексте я хочу установить " стек » текст кликабелен. в том случае, если вы нажмете на него, он будет перенаправлен на новое действие (не в браузере).
Я пытался, но я не получаю.
android
string
textview
clickablespan
Naresh
источник
источник
Ответы:
android.text.style.ClickableSpan
могу решить вашу проблему.В XML:
источник
ForegroundColorSpan fcs = new ForegroundColorSpan(Color.BLUE); ss.setSpan(fcs, 22, 27, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
ForegroundColorSpan
вsetSpan
после того, как вы установили интерактивный срок. При размещении переднего плана перед кликабельным промежутком новый цвет отражаться не будет.Моя функция для создания нескольких ссылок внутри
TextView
С ПОМОЩЬЮ
XML
DEMO
Ссылка
Решение для очистки выбора выделения ссылки следуйте https://stackoverflow.com/a/19445108/5381331
источник
Вы можете использовать ClickableSpan, как описано в этом посте
Образец кода:
Ссылка
источник
startIndex
иendIndex
логика.Вы можете использовать пример кода. Вы хотите узнать подробнее о ClickableSpan. Пожалуйста, проверьте эту документацию
источник
Я сделал этот вспомогательный метод на случай, если кому-то понадобится начальная и конечная позиции из строки.
А вот как вы это используете
источник
источник
Вот
Kotlin
способ сделать частиTextView
кликабельными:Его можно вызывать несколько раз, чтобы создать несколько ссылок в TextView:
источник
Котлинская версия ответа Фан Ван Линха.
Обратите внимание, что он имеет некоторые незначительные изменения.
источник
Для смелых,
источник
Я бы предложил другой подход, который, на мой взгляд, требует меньше кода и является более «дружественным к локализации».
Предположим, что ваше целевое действие называется «ActivityStack», определите в манифесте фильтр намерений для него с помощью пользовательской схемы (например, «myappscheme») в AndroidManifest.xml:
Определите TextView без какого-либо специального тега (важно НЕ использовать тег «android: autoLink», см .: https://stackoverflow.com/a/20647011/1699702 ):
затем используйте ссылку с пользовательской схемой и хостом в тексте TextView как (в String.xml):
и «активировать» ссылку с помощью setMovementMethod () (в onCreate () для действий или onCreateView () для фрагментов):
Это откроет активность стека нажатием на слово «стек».
источник
Вы можете этим методом установить значение кликабельности
Вот как это использовать:
источник
Это мой
MovementMethod
для обнаружения ссылок / текст / изображения кликов. Это модифицированоLinkMovementMethod
.источник
более общий ответ в котлине
источник
Предлагаемые решения довольно приличные. Однако я обычно использую более простое решение.
Вот полезная функция linkify
Использовать эту функцию довольно просто. Вот пример
источник
Я написал пример, чтобы решить ваш вопрос в Котлине.
Это код:
Это XML
Вот так это выглядит
введите описание изображения здесь
источник
Это действительно полезно для кликабельной части некоторой части текста.
Точка - это специальный символ в регулярном выражении. Если вы хотите растянуть точку, вам нужно экранировать точку как
\\
. вместо того, чтобы просто передавать ".
" в метод с возможностью переноса текста. Кроме того, вы также можете использовать регулярное выражение[.]
для разделения строки на точку в Java.источник
Чтобы добавить связанный текст в текстовое представление, вы можете использовать приведенный ниже пример строкового ресурса "footer_text", а также отредактировать метод onCreate для своей деятельности, вы можете использовать приведенный ниже пример
string.xml
MainActivity.java
источник