2013-04-26 3 views
0

대화 상자에서 확장하는 클래스가 있습니다. 해당 클래스는 내 사용자 정의 대화 상자입니다. 이제 대화 상자를 보여주는 코드가 있지만 단추의 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

답변

2

setOnDismissListener()을 사용하면 대화 상자가 닫힐 때 콜백을 등록 할 수 있습니다.

그러면이 콜백에서 코드를 실행할 수 있습니다.

+0

좋아,하지만 "이 라인에서 여러 마커 \t 데려다 - 한 OnDismissListener 유형 \t으로 해결 될 수없는 - 유형 대화의 방법 setOnDismissListener (DialogInterface.OnDismissListener하는) 새로운 한 OnDismissListener (인수에 대한 \t 적용되지 않습니다 () {}) "일식 –

+1

클릭 ctrl-shift-o –

+0

고마워! 그것은 청취자와 함께하는 나의 문제였습니다. –

관련 문제