1. ホーム
  2. android

[解決済み] アンドロイド:リンクがクリック可能なテキストビュー内のhtml [重複].

2023-07-11 04:17:43

質問

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

どうすれば、URLの入ったウェブブラウザを開かせることができるのでしょうか?

どのように解決するのですか?

これを試してみてください。

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

覚えておいてください。 は、android:autoLink="web"属性と一緒に使わないでください。

SDK 24+のアップデート 関数 Html.fromHtml で非推奨の Android N (SDK v24)で非推奨となったため、このメソッドを使用するように変更してください。

    String html = "<a href=\"http://www.google.com\">Google</a>";
    Spanned result = HtmlCompat.fromHtml(html,Html.FROM_HTML_MODE_LEGACY);
    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;

アップデート2 android.text.util.Linkify を追加し、クリック可能なTextViewの作成がより簡単になりました。

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