簡體   English   中英

使用“是/否”對話框攔截鏈接LinkMovementMethod

[英]Intercept link LinkMovementMethod with a Yes/No dialog

我在TextView建立了一個標准LinkMovementMethod ,以在用戶觸摸鏈接時推送某種形式的Web Activity。 但是,我想建立一個“您是否想看到鏈接”對話框,而不是直接將用戶帶到網頁。 我嘗試覆蓋觸摸方法,但是這一切都有些令人費解。 一點幫助?

您可以通過兩種方式完成此任務:

  • 創建自定義跨度 :比較復雜,但是您可以完成更多由可單擊部分(或粗體,顏色不同等)組成的自定義文本。 要了解更多信息,請查看ClickableSpanSpannableStringBuilder
  • 擴展LinkMovementMethod以接受自定義點擊偵聽器

我認為,在像您這樣的基本情況下,第二種解決方案更好。 這是您可以執行的操作:

  1. 將此Java類: InternalLinkMovementMethod復制到您的項目中
  2. 將TextView的鏈接移動方法添加到此自定義方法中,提供一個點擊偵聽器:
OnLinkClickedListener clickListener = new OnLinkClickedListener() {
    @Override
    public boolean onLinkClicked(String linkText) {
        // here you can handle your click, eg show the dialog
        // `linkText` is the text being clicked (the link)
        // return true if handled, false otherwise
    }
}

yourTextView.setMovementMethod(new InternalLinkMovementMethod(clickListener));

暫無
暫無

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

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