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