簡體   English   中英

Android 輔助功能對講 - 在 TextView 的超鏈接上處理 onClick

[英]Android Accessibility Talkback - handle onClick on hyperlink of TextView

我們有一個支持 HTML 標簽的文本視圖。 在這個文本視圖中,文本將以 HTML 的形式出現,我們可以完美地填充它。 文本可能包含一些超鏈接。 這些超鏈接位於常規<a href>標記中。

這里要注意的是,這些超鏈接可能是外部 URL 或內部活動的引用路徑。

該功能工作正常。 但是在Talkback功能期間,內部路徑沒有調用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;
                            }
                        });

我刪除了 CustomLinkMovementMethod 並取而代之的是使用自定義 URLSpan class 來捕獲嵌入在 HTML 文本中的超鏈接

自定義 URL 跨度 class 類似於以下StackOverflow 問題中接受的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM