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);
    }
});

私が欲しいのは実行することです:

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()ますか?

4

1 に答える 1

3

setOnDismissListener()を使用して、ダイアログが閉じられたときのコールバックを登録できます。

次に、このコールバックでコードを実行できます。

于 2013-04-26T17:44:35.740 に答える