2016-04-25 85 views
0

我創建的警報對話,但標題和消息不是這裏顯示的是我的警報對話代碼警報對話的標題和消息未顯示

holder.add.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      AlertDialog.Builder builder; 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
       builder = new AlertDialog.Builder(context, android.R.style.Theme_Material_Dialog_Alert); 
      } else { 
       builder = new AlertDialog.Builder(context); 
      } 
      builder.setTitle("Alert"); 
      builder.setMessage("Are you sure") 
        .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 

         } 
        }) 
        .setNegativeButton("No", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          // User cancelled the dialog 
         } 
        }); 
      AlertDialog dialog = builder.create(); 
      dialog.show(); 
     } 
    }); 

這是它的屏幕截圖enter image description here

回答

0

而不是context ,嘗試使用ActivityName.this

+0

感謝兄弟這個工作 –

0

我不知道是什麼造成的,但開始時我很肯定你不需要分別撥打builder.create()然後dialog.show()

直接調用builder.show()並讓Alert Dialog Builder處理其創建和顯示。如果您確實需要dialog實例,請從builder.show()的結果中獲得它。

關於文本的缺失,也許你在壓倒一些風格,你有沒有檢查文本是否僅僅是白色的,因爲這是「隱形」?

+0

我用buider.show()不工作 –

+0

您可以發佈您樣式來源爲'Theme_Material_Dialog_Alert'? –

0

您必須在AlertBuilder中傳遞主題。

AlertDialog.Builder myAlert = new AlertDialog.Builder(getContext(), R.style.AppCompatAlertDialogStyle); 
deleteAlert.setTitle(title); 
deleteAlert.setMessage(message); 
deleteAlert.setPositiveButton(android.R.string.ok, clickListener); 
deleteAlert.setNegativeButton(android.R.string.cancel, clickListener); 
deleteAlert.show(); 

如果您已調用show(),則無需調用create()方法。因爲show()方法在內部調用create()。

注: 我可以從我的經驗中清楚地說出這個問題。我錯過了通過主題。

R.style.AppCompatAlertDialogStyle 

不起作用:

AlertDialog.Builder myAlert = new AlertDialog.Builder(getContext()); 

WORKS SUCCESFULLY:

AlertDialog.Builder myAlert = new AlertDialog.Builder(getContext(), R.style.AppCompatAlertDialogStyle);