首页 > 解决方案 > 如何在textView android中获取所有活动的跨度链接

问题描述

我有一个文本视图,里面有一个带有一些链接的文本(其中一些是自定义的,例如我手动使它们可链接的银行卡号),有没有办法在列表中提取文本视图的所有链接部分?

我希望通过 TalkBack 处理链接

例子:

这是www.google.com的文本,编号为6273 5331 2134 1234

我想得到这些粗体文本:

标签: androidhyperlinktextviewtalkback

解决方案


终于找到答案了:

只需将文本转换为可编辑,然后检索所有跨度。

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);

您可以从上述方法中检索所有 CustomSpan。这也适用于editText。


推荐阅读