How to check if AlertDialog.builder is showing and cancelling it if its showing?

Darpan picture Darpan · Nov 25, 2014 · Viewed 33k times · Source

Here is my code -

View layout = LayoutInflater.from(this).inflate(R.layout.dialog_loc_info, null);
final Button mButton_Mobile = (Button) layout.findViewById(R.id.button);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
mButton_Mobile.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        if(builder.)
            showDialog(); // this is another dialog, nothing to do with this code
        }
    });
builder.setNeutralButton(getString(android.R.string.ok),
                         new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
    }
});
builder.show();

Answer

MysticMagicϡ picture MysticMagicϡ · Nov 25, 2014

You can use AlertDialog methods for that.

AlertDialog alert = new AlertDialog.Builder(context).create();

if (alert.isShowing()) {
    alert.dismiss();
}

Hope it helps.