android:textview中的html,链接可点击 [英] android: html in textview with link clickable

查看:92
本文介绍了android:textview中的html,链接可点击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 TextView 中使用了一个 a-htmltag,但是当我点击它时没有任何反应.

I use an a-htmltag in my TextView, but when i tap on it nothing happens.

我怎样才能让它打开带有 url 的网络浏览器?

How can I make it open the web browser with the url?

推荐答案

试试这个

txtTest.setText( Html.fromHtml("<a href="http://www.google.com">Google</a>"));
txtTest.setMovementMethod(LinkMovementMethod.getInstance());

记住:不要使用 android:autoLink="web" 属性.因为它导致 LinkMovementMethod 不起作用.

Remember : don't use android:autoLink="web" attribute with it. because it causes LinkMovementMethod doesn't work.

SDK 24+ 更新Android N (SDK v24) 已弃用Html.fromHtml函数,转而使用此方法:

Update for SDK 24+ The function Html.fromHtml deprecated on Android N (SDK v24), so turn to use this method:

    String html = "<a href="http://www.google.com">Google</a>";
    Spanned result = HtmlCompat.fromHtml(html,Html.FROM_HTML_MODE_LEGACY);
    txtTest.setText(result);
    txtTest.setMovementMethod(LinkMovementMethod.getInstance());

以下是标志列表:

FROM_HTML_MODE_COMPACT = 63;
FROM_HTML_MODE_LEGACY = 0;
FROM_HTML_OPTION_USE_CSS_COLORS = 256;
FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32;
FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16;
FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2;
FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8;
FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4;
FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1;

更新 2使用 android.text.util.Linkify,现在更容易制作可点击的 TextView:

Update 2 with android.text.util.Linkify, it's more easier now to make a clickable TextView:

TextView textView =...
Linkify.addLinks(textView, Linkify.WEB_URLS);

这篇关于android:textview中的html,链接可点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆