2012-09-11 77 views
1

我有一個alertdialog的任何選項和2個按鈕。當我按下第二個按鈕(只停止聲音)時,我不想關閉對話框。不要關閉alertdialog通過點擊一個按鈕 - Android的

是否有任何屬性保持對話框打開?

非常感謝!

代碼:

 public void creaDialogTo(){ 

      final String[] tonos = {"thinks.mp3", "life.mp3", "war.mp3"}; 

      AlertDialog.Builder builder = new AlertDialog.Builder(this); 

      builder.setTitle("Select"); 
      builder.setCancelable(false); 
      builder.setSingleChoiceItems(tones, -1,new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int item) { 
        tone=tones[item]; 
        sound1 =new SoundManager(getApplicationContext()); 
        sound1.loadSound(tones[item]); 


       } 
      }); 
      builder.setPositiveButton("Confirm", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          pref.setTone(tone); 

          sound1.stopsound(); 

         } 
        }); 
      builder.setNeutralButton("Stop sound", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
         sound1.stopsound(); 

         } 
        }); 
      AlertDialog alert = builder.create(); 
      alert.show(); 

    } 
+0

可以發佈代碼你正在使用的警報對話框 –

+0

@Ramkiran謝謝你,這是代碼 –

+0

然後調用builder.dismiss()只在確認按鈕。無需調用停止按鈕的解除方法 –

回答

5

我猜,你是顯示AlertDialog,具有正負默認的按鈕。相反,您可以創建一個對話框,並將該對話框的佈局設置爲contentView,並手動設置兩個按鈕。這裏您需要定義按鈕單擊事件的所有定義,並且不會出現默認按鈕。所以,如果你沒有關閉按鈕上的對話框,只需點擊按鈕,不要調用dialog.dismiss()。

編輯:中性按鈕默認關閉對話框,嘗試將其改爲負面按鈕,如果它仍然不會工作,那麼請申請解決方案,我已經在上面寫過。

+1

負向按鈕也是一樣的:( –

+0

請創建一個對話框,並將該對話框的ContentView設置爲具有這些按鈕的佈局。 – jeet

+0

Tnak you so much that @jeet !! –