假设我在Android应用中创建了一个对话框,如下所示:
private static ProgressDialog dialog;
dialog = ProgressDialog.show(MainActivity.this, "", "Downloading Files. Please wait...", true);
现在,是否可以在调用以下内容时触发事件?
dialog.dismiss();
我想这样做而不只是在dialog.dismiss();
之后调用我的方法是因为在静态类中调用Dialog dismiss而我接下来要做的是加载一个新的Activity(不能是在静态类中使用Intents完成。
答案 0 :(得分:51)
答案 1 :(得分:5)
当然可以 - 检查:
public void onDismiss(DialogInterface dialogInterface)
{
//Fire event
}
答案 2 :(得分:4)
每当通过单击PositiveButton,NegativeButton,NeturalButton或通过单击对话框外部关闭对话框时,总是会自动调用“onDismiss”,因此在onDismiss()方法中执行此操作,例如,
@Override
public void onDismiss(DialogInterface dialogInterface) {
...
}
您甚至不需要调用dismiss()方法。
答案 3 :(得分:0)
对话框使用setOnDismissListener方法。
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
if (mIsSettingsDirty)
refreshRecyclerView();
}
});
答案 4 :(得分:0)
如果您位于自定义对话框类中,请覆盖dismiss()。 我建议在super.dismiss()之前插入逻辑。 Kotlin示例:
Users
答案 5 :(得分:0)
如果要隐藏Dialog
句柄,则可以覆盖2种方法。
@Override
public void cancel() {
super.cancel();
callback();
}
@Override
public void dismiss() {
super.dismiss();
callback();
}