web-dev-qa-db-ja.com

android:リンク可能なリンクを持つテキストビューのHTML

TextViewでa-htmltagを使用していますが、タップしても何も起こりません。

URLでウェブブラウザを開くにはどうすればよいですか?

68
clamp

試してみてください

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

注意: Android:autoLink = "web"属性は使用しないでください。 LinkMovementMethodが機能しないためです。

SDK 24以降の更新関数Html.fromHtmlAndroid 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;

pdate 2Android.text.util.Linkifyで、クリック可能なTextViewを作成するのがより簡単になりました:

TextView textView =...
Linkify.addLinks(textView, Linkify.WEB_URLS);
184

この方法でできます。

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://")

お役に立てれば。詳しくはこちらをご覧ください ブログ投稿 (それは私のものではありません、とにかく私はそれに関連付けられていません。情報提供のみを目的としてここに投稿されています)。

13
Mudassir