【问题标题】:How to create link in textview to open image如何在文本视图中创建链接以打开图像
【发布时间】:2016-11-30 22:17:12
【问题描述】:

我需要创建一个 TextView 并将其链接到 sdcard 中的图像。因此,当用户点击它时,它将打开图像。我使用了以下代码,但它不起作用:

TextView tv = new TextView();
tv.setAutoLinkMask(Linkify.WEB_URLS);
tv.setAutoLinkMask(Html.fromHtml("<a href=\"file:///sdcard/PIC_20150721_- 1_1245263.jpg\">PIC_20150721_-1_1245263.jpg</a>"));
tv.setMovementMethod(LinkMovementMethod.getInstance());

我目前遇到的问题: 在屏幕上,它确实显示 PIC_20150721_1245263.jpg,但它显示的文本是这样的:PIC_20150721_-1_1245263.jpg,并且只有 1245263.jpg 是可点击的。它不会将整个文件名显示为可单击。当我点击它时,它会打开我们的 chrome,其 URL 为:1245263.jpg,然后说找不到这样的页面。

如何让它支持 file://xxxx 格式?

谢谢

【问题讨论】:

  • 您可以为此使用 ImageView 吗?
  • 你为什么不直接执行 textView 的点击事件并在你的图像路径中打开画廊意图。可能是this 会帮助你。
  • 为什么不使用ClickableSpan

标签: android hyperlink textview


【解决方案1】:

参考下面的link,像这样使用Linkify类:

TextView tv = new TextView();
tv.setAutoLinkMask(Linkify.WEB_URLS);
tv.setAutoLinkMask(Html.fromHtml("<a href=\"file:///sdcard/PIC_20150721_- 1_1245263.jpg\">PIC_20150721_-1_1245263.jpg</a>"));
tv.setMovementMethod(LinkMovementMethod.getInstance());
Linkify.addLinks(tv, Linkify.ALL);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多