2016-07-27 49 views
0

我需要创建一个TextView并将其链接到SD卡中的图像。所以当用户点击它时,它会打开图像。我用下面的代码,但它不工作:如何在textview中创建链接以打开图像

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可点击。它不显示整个文件名称为可点击。当我点击它时,它会打开我们的网址铬:1245263.jpg然后说无法找到这样的页面。

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

感谢

+0

您可以使用ImageView的用于此目的? – Shubh

+0

为什么你不只是执行textView的点击事件,并打开您的图像路径内的画廊意图。可能[this](http://stackoverflow.com/a/25168186/5148289)会帮助你。 –

+0

为什么不为此使用'ClickableSpan'。 –

回答

0

请参阅以下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); 
相关问题