如何在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);