如何获取 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
我想获得这些粗体文本:
- www.google.com
- 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。
我有一个文本视图,里面有一个带有一些链接的文本(其中一些是自定义的,例如我手动将它们设置为可链接的银行卡号),有没有一种方法可以将文本视图的所有链接部分提取到一个名单?
我想要这个用于通过 TalkBack 处理链接
示例:
This is text for www.google.com with number 6273 5331 2134 1234
我想获得这些粗体文本:
- www.google.com
- 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。