我在资源文件的字符串中有以下文字:
<a href="mailto:mymail@mail.com"><img src="mail_big" /></a>
它显示图像正常(我实现了ImageGetter),但它不可点击。我尝试过添加Linkify,但我不认为它适用于这种情况,所以它不起作用。 setMovementMethod也不起作用。
我尝试了以上的不同组合:
<a href="mailto:mymail@mail.com"><img src="mail_big" />hello</a>
在这里,即使是&#34;你好&#34;部分不可点击(既不是蓝色也不是下划线)。
<a href="mailto:mymail@mail.com"><img src="mail_big" /></a>
这甚至不显示图像。
<a href="mailto:mymail@mail.com"><img src="mail_big" /></a>
如果我只是写电子邮件,而不是&lt; a&gt;标签它完美地工作,但我想使用用户可以点击的信封图像。无法使用图像按钮,因为此文本位于字符串的中间,因此我无法将其拆分。
有什么想法吗?
谢谢!
答案 0 :(得分:4)
我会回答我自己的问题。
我找到了解决方案,或者更确切地知道如何正确地做到这一点。
我所要做的就是在TextView和ALSO中调用setText之前添加setMovementMethod调用,并且 COMPLETELY NECESSARY ,从布局中删除属性“android:autoLink =”all“。显然,解析字符串中的邮件和网址与解释字符串中的&lt; a&gt;链接标记是互斥的。所以一个或另一个,但不是两个。
最后我的布局只是一个TextView,没有什么特别的,只有宽度和高度。活动如下:
TextView tv = (TextView)findViewById(R.id.about_text);
tv.setMovementMethod(LinkMovementMethod.getInstance());
tv.setText(Html.fromHtml(getString(R.string.about_content), new ImageGetter(), null));
字符串是这样的:
<string name="about_content"><a href="mailto:nomail@mail.com"><img src="mail" /></a></string>
答案 1 :(得分:1)
不确定,但您可以尝试使用android:clickable="true"
中的view
。
答案 2 :(得分:0)
你有吗
android:autoLink="all"
在你的xml for TextView中?
此外,如果您正在尝试显示图像,那么使用WebView很可能会更好,您可能会在打断HTML时遇到更少的打嗝,并且您应该能够将其设置为看起来与TextView(如果你想)
答案 3 :(得分:0)
TextView tv = new TextView(this);
tv.setText(Html.fromHtml("<a href=\"mailto:mymail@mail.com\">This is a test link</a>"));
tv.setClickable(true);
tv.setMovementMethod(LinkMovementMethod.getInstance());