简体   繁体   中英

How to set Close button to the AlertDialog box in android studio

I want to add one more button that if someone presses the back button two times the alert dialog box should disappear or at least get a close dialog box X button on the top right side of the alert box. I have already used setpossitivebutton and setnegativebutton.
public void onBackPressed() {

    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setTitle(R.string.app_name);
    builder.setIcon(R.mipmap.ic_launcher);
    builder.setMessage("Wanna Exit?")
            .setCancelable(false)
 .setPositiveButton("Exit", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    finish();
                }
            })
            .setNegativeButton("Share on Whatsapp", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {

                    Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND);
                    sendIntent.putExtra(Intent.EXTRA_TEXT,"simple text");
                    sendIntent.setType("text/plain");
                    sendIntent.setPackage("com.whatsapp");
                    startActivity(sendIntent);
                }
            });
  
    AlertDialog alertDialog = builder.create();
    alertDialog.show();




}

Try this code:

AlertDialog alertDialog;
 public void onBackPressed() {
        if(alertDialog == null || !alertDialog.isShowing()){
            alertDialog = = new AlertDialog.Builder(context)
            .setTitle("Delete entry")
            .setMessage("Are you sure you want to delete this 
entry?")
            .setPositiveButton(android.R.string.yes, new 
DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // continue with delete
                }
            })
            .setNegativeButton(android.R.string.no, new 
DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // do nothing
                }
            })
            .setIcon(android.R.drawable.ic_dialog_alert)
            .show();
        }else{
            alertDialog.cancel();
        }
}

Hope it will help you:)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM