如何获取 textView 中的所有活动跨度链接 android

How to get All active span links in textView android

我有一个文本视图,里面有一个带有一些链接的文本(其中一些是自定义的,例如我手动将它们设置为可链接的银行卡号),有没有一种方法可以将文本视图的所有链接部分提取到一个名单?

我想要这个用于通过 TalkBack 处理链接

示例:

This is text for www.google.com with number 6273 5331 2134 1234

我想获得这些粗体文本:

终于找到答案了:

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

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。