Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 发现是否有任何对话框正在打开?_Android_Android Dialog - Fatal编程技术网

Android 发现是否有任何对话框正在打开?

Android 发现是否有任何对话框正在打开?,android,android-dialog,Android,Android Dialog,我有一个BaseActivity可以在它的代码上打开对话框,但我不能更改这个类代码,所以我在我的子类上扩展了它,如何知道对话框何时打开?Dialog有一个isShowing()方法,如果对话框当前可见,它应该返回。因此,您可以使用它查看对话框是否正在显示,并使用dismissDialog()将其隐藏。您只需保留对在onCreateDialog()中创建的对话框的引用。Dialog有一个isShowing()方法,如果对话框当前可见,该方法应返回。因此,您可以使用它查看对话框是否正在显示,并使用d

我有一个BaseActivity可以在它的代码上打开对话框,但我不能更改这个类代码,所以我在我的子类上扩展了它,如何知道对话框何时打开?

Dialog有一个isShowing()方法,如果对话框当前可见,它应该返回。因此,您可以使用它查看对话框是否正在显示,并使用dismissDialog()将其隐藏。您只需保留对在onCreateDialog()中创建的对话框的引用。

Dialog有一个isShowing()方法,如果对话框当前可见,该方法应返回。因此,您可以使用它查看对话框是否正在显示,并使用dismissDialog()将其隐藏。您只需保留对在onCreateDialog()中创建的对话框的引用。

您可以尝试覆盖
onCreateDialog()
。这将传递一个引用ID,该ID在活动调用
showDialog(ID)
时使用。如果您只需要知道是否将显示任何
对话框
,那么我想您可以调用super,它将返回将显示的对话框

@Override
protected Dialog onCreateDialog(int id){
   Dialog dialogToBeShown = super.onCreateDialog(id);
   if(dialogToBeShown != null){
      ***Do whatever you have to with the dialog***
   }
   return dialogToBeShown;
}
编辑:


这仅在首次创建对话框时有效。您可以使用
onPrepareDialog(int-id,Dialog-Dialog,Bundle-args)
执行类似的操作,对话框打开时总是调用它。

您可以尝试覆盖
onCreateDialog()
。这将传递一个引用ID,该ID在活动调用
showDialog(ID)
时使用。如果您只需要知道是否将显示任何
对话框
,那么我想您可以调用super,它将返回将显示的对话框

@Override
protected Dialog onCreateDialog(int id){
   Dialog dialogToBeShown = super.onCreateDialog(id);
   if(dialogToBeShown != null){
      ***Do whatever you have to with the dialog***
   }
   return dialogToBeShown;
}
编辑:


这仅在首次创建对话框时有效。您可以使用
onPrepareDialog(int-id,Dialog-Dialog,Bundle-args)
执行类似的操作,对话框打开时总是调用它。

我没有对对话框的任何引用,我需要截取它的创建以保留一个。我没有对对话框的任何引用,我需要截取它的创建以保留一个。