3

我在资源文件的字符串中有以下文本:

    <a href="mailto:mymail@mail.com">&lt;img src="mail_big" /&gt;</a>

它显示图像很好(我实现了 ImageGetter),但它不可点击。我已经尝试添加 Linkify thingy,但我认为它不适用于这种情况,因此它不起作用。setMovementMethod 也不起作用。

我尝试了上述的不同组合:

    <a href="mailto:mymail@mail.com">&lt;img src="mail_big" /&gt;hello</a>

在这里,即使是“你好”部分也是不可点击的(既不是蓝色也不是下划线)。

    <a href="mailto:mymail@mail.com"><img src="mail_big" /></a>

这甚至不显示图像。

    &lt;a href="mailto:mymail@mail.com"&gt;&lt;img src="mail_big" /&gt;&lt;/a&gt;

如果我只是写电子邮件,没有 <a> 标签它可以完美地工作,但我想使用用户可以点击的信封图像。无法使用图像按钮,因为此文本位于字符串中间,因此我无法拆分它。

有任何想法吗?

谢谢!

4

4 回答 4

4

我会回答我自己的问题。

我找到了一个解决方案,或者更确切地说找到了如何正确地做到这一点。

我所要做的就是在 TextView 中调用 setText 之前添加 setMovementMethod 调用,并且完全必要,从布局中删除属性“android:autoLink="all"。显然,解析字符串中的邮件和 url 是解释字符串中的 <a> 链接标签是互斥的。所以一个或另一个但不是两者兼而有之。

最后,我的布局只是一个 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>
于 2012-06-24T15:48:25.320 回答
1

不确定,但您可以尝试android:clickable="true"view.

于 2012-06-15T01:01:28.393 回答
0

你有

android:autoLink="all"

在 TextView 的 xml 中?

此外,如果您也尝试显示图像,您很可能最好使用 WebView你想要)

于 2012-06-15T01:12:15.857 回答
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());
于 2012-06-15T01:48:58.580 回答