2012-04-10 42 views
1

如何添加對話框消息的鏈接?對話框中的Android鏈接

我嘗試下面的代碼,但該鏈接不上的onclick做任何事情:

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

它沒有爲//www.google.com工作,要麼。

回答

0

對話框的標準實現不允許你做這樣的花哨的東西。您需要通過設置自定義佈局內容來創建自定義對話框。例如:

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

欲瞭解更多詳情,請閱讀thisthis

0

您需要使用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()); 

this question

19

使用下面的代碼到你的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()); 
+0

QQ米爾,enige滿足punten。 gg – 2014-03-27 14:04:33

+0

簡單而完美的答案! – 2014-04-07 11:21:41

+0

@DIFORT我知道,壞人會使用第三方庫 – 2014-04-11 09:22:27