【发布时间】:2016-08-09 17:27:03
【问题描述】:
我想将TextView 上的一些文本链接到Activity。这是我拥有的 TextView:
<TextView
android:id="@+id/termsLink"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/terms"
android:layout_weight="4"/>
@string/terms 在哪里:
<string name="terms">Accept <a href="#">terms & conditions.</a>.</string>
如果我有一个网页链接,我会这样做:
TextView link = (TextView) findViewById(R.id.termsLink);
link.setMovementMethod(LinkMovementMethod.getInstance());
但是当我按下链接时,我不知道如何启动一个活动,因为它是一个真正的链接(它链接一个网页)。
编辑:请注意,我不必在全文中处理onClick 事件,因为链接仅在"terms & conditions" 部分上。
编辑 2:我尝试使用 cmets 上建议的两个 TextView 和以下答案之一来产生相同的效果。但有时(取决于屏幕)"terms & conditions" 部分占用两行,因为它没有正确填充可用空间,因此第二行显示在第二个TextView 而不是第二行的开头。
效果类似这样:
Accept terms &
conditions.
我希望它是这样的:
Accept terms &
conditions.
提前致谢!
【问题讨论】:
-
@sushildlh 这可能无法解决,因为他只想点击“条款和条件”
-
将您的文本分成 2 个不同的 textView 。这也容易得多。
-
int 清单,为您的目标
Activity添加intent-filter标签,action设置为android.intent.action.VIEW,category设置为android.intent.category.DEFAULT和data设置scheme到testscheme,现在你可以像这样使用它:<string name="terms">Accept <a href="testscheme://">terms.</a>.</string> -
@pskink 好的,我快到了,但我错了,因为我认为
data是intent-filter的标签。非常感谢!我认为您应该将其添加为答案,因为它比现在的答案更简单。
标签: android