我在 TextView
中使用了一个 a-htmltag,但是当我点击它时没有任何反应。
我怎样才能让它打开带有 url 的网络浏览器?
最佳答案
试试这个
txtTest.setText( Html.fromHtml("<a href=\"http://www.google.com\">Google</a>"));
txtTest.setMovementMethod(LinkMovementMethod.getInstance());
记住:不要使用 android:autoLink="web"属性。因为它导致 LinkMovementMethod 不起作用。
SDK 24+ 更新
Android N
(SDK v24) 已弃用Html.fromHtml
函数,转而使用此方法:
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:
TextView textView =...
Linkify.addLinks(textView, Linkify.WEB_URLS);
关于android:textview中的html,链接可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438713/