在TextView的android:html与链接点击
我在我的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 Html.fromHtml
不推荐使用Html.fromHtml
函数,因此请使用此方法:
String html = "<a href=\"http://www.google.com\">Google</a>"; Spanned result; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { result = Html.fromHtml(html,Html.FROM_HTML_MODE_LEGACY); } else { result = Html.fromHtml(html); } 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;
你可以这样做;
mTextView = (TextView) findViewById(R.id.textView); String text = "Visit my developer.android.com"; mTextView.setText(text); // pattern we want to match and turn into a clickable link Pattern pattern = Pattern.compile("developer.android.com"); // prefix our pattern with http:// Linkify.addLinks(mTextView, pattern, "http://")
希望这可以帮助。 请参阅此博客文章的详细信息。 (它不是我的,我也没有关联,仅供参考)。