gpt4 book ai didi

android - 使用是/否对话框拦截链接 LinkMovementMethod

转载 作者:行者123 更新时间:2023-12-05 00:21:20 24 4
gpt4 key购买 nike

我有一个标准 LinkMovementMethod在我的 TextView 中建立,以便在用户触摸链接时推送某种网络 Activity 。但是,我想建立一个“您想查看链接”对话框,而不是将用户直接带到网页。我试过重写触摸方法,但一切都变得有点复杂。有一点帮助吗?

最佳答案

您可以通过两种方式完成它:

  • 创建自定义 Span:更复杂,但您可以完成更多由可点击部分(或粗体、不同颜色等)组成的自定义文本。要了解更多信息,请查看 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));

关于android - 使用是/否对话框拦截链接 LinkMovementMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50338333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com