android: html в textview с возможностью перехода по ссылке [дубликат]


этот вопрос уже есть ответ здесь:

  • обрабатывать ссылку textview нажмите в моем приложении для android 13 ответов

Я использую a-htmltag в моем TextView, но когда я нажимаю на нее ничего не происходит.

Как я могу заставить его открыть веб-браузер с url?

2 53

2 ответа:

попробуй такое

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

помните : Не используйте с ним атрибут android: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://")

надеюсь, это помогает. Пожалуйста, смотрите это блоге для сведения. (Это не мое, и я не связан с ним в любом случае. Опубликовано здесь только для информационных целей).