[英]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.