如何在Dialog中覆盖dismiss()? Android的

时间:2017-08-01 06:32:17

标签: android dialog listener

我希望在调用dialog.dismiss()dialog.cancel后进行一些数据检查。

我应该怎么做呢?

是否有任何覆盖,监听器或方法可以执行某些操作然后关闭Dialog?

我尝试dialog.setOnDismissListener但是首先解除了对话框,然后调用了这个监听器。

2 个答案:

答案 0 :(得分:4)

您可以使用DialogFragment创建自己的自定义对话框,只需覆盖dismiss()

public class CustomDialog extends DialogFragment {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Build the alert dialog
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setMessage(R.string.dialog_fire_missiles);
        return builder.create();
    }

    @Override
    public void dismiss() {
        // Do your stuff here
        super.dismiss();
    }

    ...
}

看看https://developer.android.com/guide/topics/ui/dialogs.html

答案 1 :(得分:1)

只需按alt+insrt选择选项覆盖方法,然后选择要覆盖的方法名称。

谢谢