1

ダイアログ メッセージへのリンクを追加するにはどうすればよいですか?

次のコードを試しましたが、リンクは onclick で何もしません:

builder.setMessage(Html.fromHtml(
      "Click on the  " +
      "<a href=\"http:\\www.google.com\">link</a> " +
       "to download."));

どちらにとってもうまくいきませんでした//www.google.com

4

3 に答える 3

25

次のコードを使用して、HTML マークアップ (クリック可能なハイパーリンクを含む) を変換します。

((TextView) new AlertDialog.Builder(this)
    .setTitle("Info")
    .setIcon(android.R.drawable.ic_dialog_info)
    .setMessage(Html.fromHtml("<p>Sample text, <a href=\"http://google.nl\">hyperlink</a>.</p>"))
    .show()
    // Need to be called after show(), in order to generate hyperlinks
    .findViewById(android.R.id.message))
    .setMovementMethod(LinkMovementMethod.getInstance());
于 2012-09-13T13:42:20.170 に答える
1

Linkifyを使用する必要があります

final SpannableString m = new SpannableString(message);
Linkify.addLinks(m, Linkify.WEB_URLS);

    aDialog = new AlertDialog.Builder(getActivity())
            .setTitle(title)
            .setMessage(m)
            .setNeutralButton(R.string.ok,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        doNeutralClick();
                    }
                }
            )
            .create();

    aDialog.show();

    ((TextView) aDialog.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());

この質問を参照してください。

于 2012-04-10T20:05:03.150 に答える
0

ダイアログの標準実装では、このような手の込んだことはできません。カスタム レイアウト コンテンツを設定して、カスタム ダイアログを作成する必要があります。例えば:

Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.layout_dialog);

詳細については、こちらこちらをお読みください。

于 2012-04-10T19:58:40.800 に答える