Я использую a-htmltag в моем TextView
, но когда я нажимаю на него, ничего не происходит.
Как я могу открыть веб-браузер с URL-адресом?
Я использую a-htmltag в моем TextView
, но когда я нажимаю на него, ничего не происходит.
Как я могу открыть веб-браузер с URL-адресом?
Попробуйте
txtTest.setText( Html.fromHtml("<a href=\"http://www.google.com\">Google</a>"));
txtTest.setMovementMethod(LinkMovementMethod.getInstance());
Помните: не использовать андроид: autoLink = "web" с ним. потому что он вызывает LinkMovementMethod не работает.
Обновление для SDK 24 +
Функция Html.fromHtml
устарела на Android N
(SDK v24), поэтому перейдите к использованию этого метода:
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://")
Надеюсь, это поможет. Подробнее см. сообщение в блоге. (Это не мое, и я вообще не связан с ним. Отправлено здесь только для информационных целей).