2013-04-26 52 views
0

我有一個從Dialog擴展的類,該類是我的自定義對話框。現在,我擁有的是一個顯示對話框的代碼,但它是在一個按鈕的OnClickListener中執行的。下面的代碼是我的實際代碼:自定義對話框關閉時做些什麼

colorpicker.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     System.out.println("initial"+color); 
     dialog = new ColorPickerDialog(Main.this, color); 
     dialog.show(); 
     color=dialog.getfinalColor(); 
     System.out.println("Final"+color); 
     drawView.changePaint(weight, color); 
    } 
}); 

Whant我想要的是執行:

color=dialog.getfinalColor(); 
System.out.println("Final"+color); 
drawView.changePaint(weight, color); 

當關閉對話框。

我嘗試這樣做:

while(dialog.isShowing==true){ 
    color=dialog.getfinalColor(); 
    System.out.println("Final"+color); 
    drawView.changePaint(weight, color); 
} 

但應用不會崩潰,但不要做什麼,應用程序不與代碼很好地工作。

任何想法使onFinishDialogListener()

+0

您是否希望在每次被解僱時或僅在他們使用某個按鈕解僱時才發生這種情況? – TronicZomB 2013-04-26 17:57:33

回答

2

你可以使用​​來註冊一個回調,當你的對話被解除時。

然後你可以在這個回調中運行你的代碼。

+0

好,但它把我「這行多個標記 \t - OnDismissListener不能被解析爲一個類型 \t - 在類型對話框的方法setOnDismissListener(DialogInterface.OnDismissListener)不適用 \t的參數(新OnDismissListener( ){})「on eclipse – 2013-04-26 17:59:53

+1

點擊ctrl-shift-o – 2013-04-26 18:00:31

+0

謝謝!那是我的聽衆問題 – 2013-04-26 18:03:05