如何使 fromHTML 中的链接可点击? (安卓)

新手上路,请多包涵

这似乎是一个微不足道的问题,但它让我有点难过。我想使用 Html.fromHtml() 加载一个 HTML 字符串,并让字符串中的任何链接都可以点击并在浏览器中打开。

基本示例:

 textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));

有了这个片段,文本的格式就好像它是一个链接(蓝色,带下划线),但它是不可点击的。我试过 Linkify,但它似乎只适用于非基于 HTML 的链接。

有什么建议么?

原文由 Gunnar Lium 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 597
2 个回答

正如我所假设的那样,解决方案很简单:

 textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));
textView.setMovementMethod(LinkMovementMethod.getInstance());

第二行以某种方式激活了链接行为,尽管我不太确定如何激活。 Google Code 也解决了同样的问题。

原文由 Gunnar Lium 发布,翻译遵循 CC BY-SA 2.5 许可协议

正如其他答案中提到的,前进的方法是使用:

 xtView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));
textView.setMovementMethod(LinkMovementMethod.getInstance());

但是,如果您设置了任何 android:autoLink 值,这将不起作用,而不仅仅是其他评论似乎暗示的“网络”。因此,这意味着您可以使用此解决方案来链接 URL,但代价是电话、电子邮件和地图被禁用/取消链接。

原文由 Charlie Tabone 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题