如何在HTML中点击链接? (机器人)
这似乎是一个微不足道的问题,但有我的一种难倒。 我想使用Html.fromHtml()加载一个HTMLstring,并在string中有任何链接可以点击并在浏览器中打开。
基本示例:
textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>"));
有了这个片段,文本被格式化,就好像它是一个链接(蓝色,下划线),但它不是可点击的。 我试过Linkify,但它似乎只适用于不是基于HTML的链接。
有什么build议么?
正如我所设想的那样,解决scheme是微不足道的:
textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>")); textView.setMovementMethod(LinkMovementMethod.getInstance());
第二行以某种方式激活链接行为,虽然我不太确定如何。 Google代码解决了同样的问题。
正如其他答案中提到的,前进的一个方法是使用:
xtView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>")); textView.setMovementMethod(LinkMovementMethod.getInstance());
但是,如果您有任何android:autoLink值设置,而不是像其他评论似乎build议的“web”,这将无法正常工作。 这意味着您可以使用此解决scheme来链接url,而不必使电话,电子邮件和地图被禁用/取消关联。
LinkMovementMethod的javadoc说这个
支持点击与DPad Center或Enter的链接。
所以这是有道理的。
并确认,与4.2.2作品像魅力与只是
textView.setMovementMethod(LinkMovementMethod.getInstance());
应该是这样的:
textView.setText(Html.fromHtml("<a href=\"http://www.google.com\">This is a link</a>")); textView.setAutoLinkMask(Linkify.WEB_URLS); textView.setLinksClickable(true);
在XML中应该是
<TextView android:id="@+id/txtview" android:autoLink="web" android:linksClickable="true" />
String data="MyTest"; textView.setText(data); textView.setText(Html.fromHtml(data)); textView.setMovementMethod(LinkMovementMethod.getInstance()); textView.setLinksClickable(true);