簡體   English   中英

取消android中現有的AlertDialog

[英]cancel an existing alertdialog in android

嗨,我正在編寫一個程序,使用警報管理器每15分鍾顯示一次警報對話框,但是這樣做時,警報對話框被放置在另一個之上。 我使用過isshowing()但沒有用。這是我的代碼

AlertDialog.Builder builder=new AlertDialog.Builder(this);
    builder.setTitle("Check new files  ");
    builder.setNegativeButton("ok", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            dialog.cancel();
            }
  });

AlertDialog  alert=builder.create();
    if(alert.isShowing()){
        alert.dismiss();
    }
    else{
        alert.show();
    }

您每次都在創建新對象並檢查它是否可見。但是新對象在isShowing()中始終返回false

如果您想使用isshowing(),請使用該警報清單的舊對象

您可以聲明boolean isActive全局。 將其初始化為false ,如果創建了對話框,則將其設置為true 現在您可以問:

if (isActive) {
    alert.dismiss(); 
} else { 
    alert.show(); 
}

聲明布爾值isactive = false; 全局,在添加警報時設置為true,在刪除警報時設置為false替換此代碼

AlertDialog  alert=builder.create();
if(alert.isShowing()){
    alert.dismiss();
}
else{
    alert.show();

}

有了這個

if(isactive){
    isactive = false;
    builder.dismiss();
}
else{
    AlertDialog  alert=builder.create();
    isactive = true;
    alert.show();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM