• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

android - 如何使 TextView 中的链接可点击

[复制链接]
菜鸟教程小白 发表于 2022-8-1 01:25:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我定义了以下 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>
在哪里 @string/txtCredits是一个字符串资源,包含 <a href="some site">Link text</a> .
Android 突出显示 TextView 中的链接,但它们不响应点击。我究竟做错了什么?我必须在我的 Activity 中为 TextView 设置一个 onClickListener 吗?
看起来它与我定义字符串资源的方式有关。
这不起作用:
<string name="txtCredits"><a href="http://www.google.com">Google</a></string>
但这确实:
<string name="txtCredits">www.google.com</string>
这是一个无赖,因为我宁愿显示一个文本链接而不是显示完整的 URL。



Best Answer-推荐答案


埋在 API 演示中,我找到了解决问题的方法:
文件链接.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());
我删除了 TextView 上的大部分属性以匹配演示中的内容。
<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/txtCredits"/>
那解决了它。很难发现和修复。
重要 : 不要忘记删除 autoLink="web"如果您调用setMovementMethod() .

关于android - 如何使 TextView 中的链接可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734270/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap