如何为文本视图的某些部分提供自动链接?例如:我在TextView中的文本是"请单击此处打开此网页"。我只想显示文本"这里"的链接。我应该在单击文本"这里"时打开该网页,而不是在 TextView 的任何地方。
将字符串放入字符串中.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="txtCredits">Support: <a href="http://www.stackoverflow.com">click here</a></string>
</resources>
你可以在文本视图中使用它,如下所示:
<TextView
android:layout_width="fill_parent"
android:id="@+id/text"
android:layout_height="wrap_content"
android:gravity="center"
android:linksClickable="true"
android:text="@string/txtCredits" />
编辑
由于某种原因,上面的代码无法正常工作。因此,还要添加以下代码,
TextView t2 = (TextView) findViewById(R.id.text);
t2.setMovementMethod(LinkMovementMethod.getInstance());
重要提示:如果您要呼叫setMovementMethod()
,请不要忘记删除autoLink="web"
。
文本视图能够显示 HTML,从而解决了您的问题。将您想要可单击的内容包装在超链接中:
String html = "My link is <a href="http://google.com">here</a>";
myTextView.setText(Html.fromHtml(html));
字符串中使用简单的 Url.xml :
<string name="autolink_val">Please Click Here : http://www.google.com</string>
在 Java 代码中写下这个:
<TextView android:id="@+id/linkVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="@string/autolink_val1"/>`
在字符串中使用 HTML 语法.xml:
<string name="test">Click <a href="http://vtuhtan.info">here</a></string>
将"文本视图"属性设置为具有可单击链接和自动链接。
TextView tv = findViewById(R.id.textView);
tv.setText(Html.fromHtml(getResources().getString(R.string.test)));
您可以使用以下代码对其进行测试:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="http://www.yahoo.com"
android:autoLink="web"
/>