2012-05-24 114 views
0

我想用項目列表顯示一個AlertDialog。該列表應該是二維的。在按下a按鈕時,應顯示對話框。那麼我該怎麼做呢?是否需要爲警告對話框單獨創建一個xml文件,還是應該將對話框包含在java代碼本身中?如何在android中顯示警報對話框?

+0

如果你知道如何定義自定義適配器的話很容易給你,你所提到的定義自定義對話框的AlertDialog。 –

+0

你可以創建對話框......這將包括你使用'setView()'方法創建的xmlfile – c2dm

+0

,你可以設置任何視圖到你的警報對話框。 –

回答

3

要創建警報對話框,

public void Alert(String text, String title) 
    { 
     AlertDialog dialog=new AlertDialog.Builder(context).create(); 
     dialog.setTitle(title); 
     dialog.setMessage(text); 
     if(!title.equals("") && !text.equals("")) 
     { 
      dialog.setButton("OK", 
        new DialogInterface.OnClickListener() 
        { 
         public void onClick(DialogInterface dialog, int whichButton) 
         { 
          // 
         } 
        }); 
      dialog.setButton2("Cancel", 
        new DialogInterface.OnClickListener() 
        { 
         public void onClick(DialogInterface dialog, int whichButton) 
         { 
          // 
         } 
        }); 
     } 

     dialog.show(); 

    } 
+0

謝謝你的代碼,但是我應該爲DialogInterface包含哪些包...因爲它在Dialog Interface上顯示一些錯誤 – thedarkpassenger

+0

import android.content.DialogInterface; – Ponmalar

+0

感謝和它的工作......我需要做什麼來在列表中的每一行中包含2個項目? – thedarkpassenger

0

你爲什麼不建立一個對話的主題活動,流行起來,而不是對話的?

如果你堅持創建一個對話框。這是一段你可以嘗試的代碼。

//Class Level Variables: 
CharSequence[] items = { "Google", "Apple", "Microsoft" }; 
boolean[] itemsChecked = new boolean [items.length]; 

//Call this when you want a dialog 
showdialog(0); 

//override onCreateDialog 
@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case 0:   
     return new AlertDialog.Builder(this) 
     .setIcon(R.drawable.icon) 
     .setTitle("This is a dialog with some simple text...") 
     .setPositiveButton("OK", new 
      DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, 
      int whichButton) 
      { 
       Toast.makeText(getBaseContext(), 
        "OK clicked!", Toast.LENGTH_SHORT).show(); 
      } 
     }) 
     .setNegativeButton("Cancel", new 
      DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, 
       int whichButton) 
      { 
       Toast.makeText(getBaseContext(), 
        "Cancel clicked!", Toast.LENGTH_SHORT).show(); 
      } 
     })    
     .setMultiChoiceItems(items, itemsChecked, new 
      DialogInterface.OnMultiChoiceClickListener() {     
       @Override 
       public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
        Toast.makeText(getBaseContext(), 
         items[which] + (isChecked ? " checked!": " unchecked!"), 
         Toast.LENGTH_SHORT).show(); 
       } 
      } 
     ) 
     .create(); 
} 

這將創建都有一個複選框和名稱.....

+0

來源:http://www.wrox.com。 – drulabs