Как получить все активные ссылки в textView android - PullRequest
1 голос
/ 26 мая 2020

У меня есть текстовое представление, внутри которого есть текст с некоторыми ссылками (некоторые из них настраиваются, например, номер банковской карты, который я вручную сделал для них связанными). Есть ли способ извлечь всю связанную часть текстового представления в список?

Мне нужно это для обработки ссылок через TalkBack

Пример:

Это текст для www.google.com с номером 6273 5331 2134 1234

Я хочу получить эти жирные тексты:

  • www.google.com
  • 6273 5331 2134 1234

1 Ответ

0 голосов
/ 26 мая 2020

Наконец нашел ответ:

Просто преобразуйте текст в Редактируемый , а затем получите все ваши диапазоны.

Editable editable = new Editable.Factory().newEditable(textView.getText());

ClickableSpan[] ClickableSpans = editable.getSpans(0,editable.length(), ClickableSpan.class);
ClickableSpan[] UrlSpans = editable.getSpans(0,editable.length(), URLSpan.class);

Вы можете получить все CustomSpans из приведенного выше метод. Это также работает и для editText.

...