如何使文本视图中的链接可单击

我定义了以下TextView:

<文本视图
android:layout_width="包装“U内容”;
android:layout_height="包装“U内容”;android:text=&[email protected]字符串/txtCredits“;
android:autoLink="“网络”;android:id=&[email protected]+id/infoTxtCredits“;
android:layout_centerInParent="“真的”;
android:linksClickable="“真的”&燃气轮机&lt/文本视图>

其中@string/txtCredits是包含<a href="“一些网站”&燃气轮机;链接文本&lt/a&gt

Android正在文本视图中突出显示链接,但它们不会对点击做出响应。我做错了什么?对于像这样简单的事情,我是否必须在活动中为TextView设置onClickListener

这似乎与我定义字符串资源的方式有关

这不起作用:

<字符串名称="txtCredits“&燃气轮机&书信电报;a href="http://www.google.com"&燃气轮机;谷歌&lt/a&gt&lt/字符串>

但这确实:

<字符串名称="txtCredits“&燃气轮机;www.google.com&lt/字符串>

这很糟糕,因为我宁愿显示一个文本链接,也不愿显示完整的URL

在API演示中,我找到了问题的解决方案:

文件Link.java

//text2具有通过放置指定的链接<a>字符串中的标记
//资源。默认情况下,这些链接将显示,但不会显示
//响应用户输入。要激活它们,您需要
//对TextView对象调用setMovementMethod()。
TextView t2=(TextView)findViewById(R.id.text2);
t2.setMovementMethod(LinkMovementMethod.getInstance());

我删除了TextView上的大多数属性,以匹配演示中的内容

<文本框
android:id=&[email protected]+id/text2“;
android:layout_width="包装“U内容”;
android:layout_height="包装“U内容”;
android:text=&[email protected]字符串/txtCredits“/&燃气轮机;

这就解决了问题。这是相当困难的发现和修复

重要:不要忘记删除autoLink="“网络”如果您正在调用setMovementMethod()

发表评论