
我定义了以下TextVIEw:
<TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="@string/txtCredits" androID:autolink="web" androID:ID="@+ID/infoTxtCredits" androID:layout_centerInParent="true" androID:linksClickable="true"></TextVIEw>@H_301_7@其中@ string / txtCredits是一个包含< a href =“some site”>链接文本< / a>的字符串资源.
AndroID正在突出显示TextVIEw中的链接,但它们不响应点击.有人能告诉我我做错了什么吗?我是否必须在我的活动中为TextVIEw设置onClickListener,这对于这么简单?
看起来它与我定义字符串资源的方式有关.
这不起作用:<string name="txtCredits"><a href="http://www.Google.com">Google</a></string>@H_301_7@但这样做:
<string name="txtCredits">www.Google.com</string>@H_301_7@这是一个无赖,因为我宁愿显示文本链接而不是显示完整的URL.
解决方法:
在API演示中,我找到了解决问题的方法:
link.java:
// text2 has links specifIEd by putting <a> Tags in the string // resource. By default these links will appear but not // respond to user input. To make them active, you need to // call setMovementMethod() on the TextVIEw object. TextVIEw t2 = (TextVIEw) findVIEwByID(R.ID.text2); t2.setMovementMethod(linkMovementMethod.getInstance());@H_301_7@我删除了TextVIEw上的大多数属性以匹配演示中的属性.
<TextVIEw androID:ID="@+ID/text2" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:text="@string/txtCredits"/>@H_301_7@这解决了它.很难发现和修复.
重要提示:如果要调用setMovementMethod(),请不要忘记删除autolink =“web”.
总结以上是内存溢出为你收集整理的android – 如何在TextView中单击链接?全部内容,希望文章能够帮你解决android – 如何在TextView中单击链接?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)