J'utilise un a-htmltag dans mon TextView
, mais quand je tape dessus, rien ne se passe.
Comment puis-je le faire ouvrir le navigateur Web avec l'URL?
Essayez ceci
txtTest.setText( Html.fromHtml("<a href=\"http://www.google.com\">Google</a>"));
txtTest.setMovementMethod(LinkMovementMethod.getInstance());
N'oubliez pas: n'utilisez pas l'attribut Android: autoLink = "web" avec. car il provoque LinkMovementMethod ne fonctionne pas.
Mise à jour pour SDK 24+ La fonction Html.fromHtml
déconseillé le Android N
(SDK v24), alors utilisez cette méthode:
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());
Voici la liste des drapeaux:
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;
mise à jour 2 avec Android.text.util.Linkify
, il est maintenant plus facile de créer un TextView cliquable:
TextView textView =...
Linkify.addLinks(textView, Linkify.WEB_URLS);
Vous pouvez le faire de cette façon;
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://")
J'espère que cela t'aides. Veuillez voir ceci article de blog pour plus de détails. (Ce n'est pas le mien, et je n'y suis pas associé de toute façon. Publié ici à titre informatif uniquement).