2012-05-22 37 views
1

我試圖在Default AlertDialog中顯示一條冗長的消息,並帶有以下代碼。在AlertDialog中顯示長消息

public static void showAlert(String message, Context con) { 
    AlertDialog.Builder dialog = new AlertDialog.Builder(con); 
    dialog.setTitle(message); 
    dialog.setPositiveButton(" OK ", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 

     } 
    }); 
    dialog.show(); 

} 

但是,當我通過長消息警報對話框不顯示完整的消息。我可以通過中心對齊Dialog的文本嗎?我不想使用自定義對話框。

+4

試dialog.setMessage(消息),而不是的setTitle? – Urho

+0

感謝Urgo。這是一個愚蠢的錯誤...非常感謝。 –

+0

@Urgo請將您的評論發佈爲答案,以便OP能夠接受它。 – Krishnabhadra

回答

6

變化

dialog.setTitle(message); 

dialog.setMessage(message); 

,如果要居中對齊文本,你必須創建 像下面的例子一個TextView:

AlertDialog.Builder dialog = new AlertDialog.Builder(con); 
    dialog.setTitle(message); 
    dialog.setPositiveButton(" OK ", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 

     } 
    }); 
    dialog.show(); 

// Must call show() prior to fetching text view 
TextView messageView = (TextView)dialog.findViewById(android.R.id.message); 
messageView.setGravity(Gravity.CENTER); 

取自:Center message in android dialog box

+0

以及如何在對話框中居中對齊文本 –

0

嘗試下面的代碼

public static void showAlert(String message, Context con) { 
    AlertDialog.Builder dialog = new AlertDialog.Builder(con); 
    dialog.setMessage(message); 
    dialog.setPositiveButton(" OK ", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.dismiss(); 

     } 
    }); 
    dialog.show(); 

} 
+0

以及如何在文本對話框中居中對齊 –

0
AlertDialog.Builder builder1 = new AlertDialog.Builder(getParent()); 

builder1.setTitle("Login Alert"); 

TextView myMsg = new TextView(getParent()); 

myMsg.setText("You have not logged in to save the product.Do you want to login?"); 

myMsg.setTextSize(20); 

myMsg.setGravity(Gravity.CENTER_HORIZONTAL); 

builder1.setView(myMsg);