android– 如何在TextView中单击链接?

android– 如何在TextView中单击链接?,第1张

概述我定义了以下TextView:<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@stringxtCredits"android:autoLink="web"android:id="@+id/infoTxtCredits"

我定义了以下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中单击链接?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1104529.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存