OStack程序员社区-中国程序员成长平台

标题: android - 如何使 TextView 中的链接可点击 [打印本页]

作者: 菜鸟教程小白    时间: 2022-8-1 01:25
标题: android - 如何使 TextView 中的链接可点击

我定义了以下 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (http://ostack.cn/) Powered by Discuz! X3.4