如何检查警报是可见的android

use*_*308 2 java alert android android-alertdialog

如何检查我的警报是否已经在屏幕上显示?

 AlertDialog.Builder alert = new AlertDialog.Builder(this);

 alert.show();
Run Code Online (Sandbox Code Playgroud)

我可以通过在我的代码中添加一个标志来设置和重置来维护状态,但是如果已经有一个我可以重用的方法呢?

khu*_*ram 11

AlertDialog.Builder类上没有isShowing()方法.但是Dialog类上有一个.

AlertDialog.Builder

对话

AlertDialog.Builder用于创建AlertDialog.一旦你有一个AlertDialog的实例,你就可以通过在它上面调用isShowing()来确定它是否仍在显示.

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
AlertDialog alertDialog = alertDialogBuilder.create();

if(!alertDialog.isShowing()){   
  //if its visibility is not showing then show here 
   alertDialog.show();       
 }else{
  //do something here... if already showing       
  }
Run Code Online (Sandbox Code Playgroud)