Android辅助功能对讲-处理TextView的onClick超级链接

时间:2020-06-26 21:04:17

标签: java android hyperlink accessibility talkback

我们有一个支持HTML标记的文本视图。在此文本视图中,文本将以HTML形式出现,我们能够完美地填充它。文本可能包含一些超链接。这些超链接在常规<a href>标签中。

这里要注意的是,这些超链接可能是外部URL或内部活动的引用路径。

功能正常。但是在使用“对讲”功能时,内部路径未调用onClick方法来调用各自的意图并引发错误

错误

W/URLSpan: Actvity was not found for intent, Intent { act=android.intent.action.VIEW dat=/abc/xyz/CONTACT_US (has extras) }

以下代码是我们的处理程序,用于捕获onClick并打开相应的页面。但是此方法在对讲期间不会触发。而是从文本本身获取URL。 有没有一种方法可以覆盖对讲以使用我们的方法?

用于处理超链接点击的方法的代码。

CustomLinkMovementMethod.linkify(Linkify.ALL, text)
                        .setOnLinkClickListener(new CustomLinkMovementMethod.OnLinkClickListener() {
                            @Override
                            public boolean onClick(TextView textView, String url) {
                                Log.d(TAG, "onClick: " + url);
                                if (mContext instanceof Activity) {
                                    ((Activity)mContext).handleLink( url );
                                }
                                return false;
                            }
                        });

1 个答案:

答案 0 :(得分:0)

我删除了CustomLinkMovementMethod,并使用Custom URLSpan类来捕获嵌入在HTML文本中的超链接

自定义URL跨度类类似于以下StackOverflow question

中接受的答案
相关问题