我已经在类似的讨论中阅读了一些答案,但它们都没有直接解决这个问题。我有一个警报对话框,当它被驳回时,我想采取一些行动。不管是如何被解散的(按下对话框外部或触摸对话框)。
我应该设置哪个听众?Dimiss侦听器还是取消Lister或两者?我想做一个活动finish()
,因此,如果这两种方法都会在另一个接一个地运行,则应用可能会崩溃。
另外,是否有一种阻止方法,以便用户无法关闭对话框(例如覆盖并设置一些错误)。
谢谢
你可以有一个侦听器
dialog.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface arg0) {
// TODO Auto-generated method stub
finish();
}
});
这将完成您的工作。
,如果您想对话框无法解散 你有
dialog.setCancelable(false);
您应该在此处添加两个侦听器。在两个听众回调中,您都可以调用所需的操作。
,您可以将其设置为不可取消,请参阅此 -
http://developer.android.com/reference/android/app/dialog.html#setcancelable(boolean)