我定义了以下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=";“真的”&燃气轮机</文本视图>;
其中@string/txtCredits是包含<;a href=";“一些网站”&燃气轮机;链接文本</a>
Android正在文本视图中突出显示链接,但它们不会对点击做出响应。我做错了什么?对于像这样简单的事情,我是否必须在活动中为TextView设置onClickListener
这似乎与我定义字符串资源的方式有关
这不起作用:
<;字符串名称=";txtCredits“&燃气轮机&书信电报;a href=";http://www.google.com"&燃气轮机;谷歌</a></字符串>;
但这确实:
<;字符串名称=";txtCredits“&燃气轮机;www.google.com</字符串>;
这很糟糕,因为我宁愿显示一个文本链接,也不愿显示完整的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()