[英]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.