Kirmani88 Kirmani88 - 3 months ago 12
Android Question

How to display Alert Message when back button is Pressed?

I need to display an

Alert Message
to the user whenever he pressed
Back Button
.
I have written following code, it displays
Alert Box
for a second and then redirect. I have specified
Button
in
Alert Box
, If user
click
on
yes
, then i create
Intent
, else i want user to stay on the current activity.

Right now it displays me following error message.

android.view.WindowLeaked: Activity checkout.Checkout has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{100e8093 V.E..... R.....I. 0,0-1080,476} that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:271)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.app.Dialog.show(Dialog.java:298)
at android.support.v7.app.AlertDialog$Builder.show(AlertDialog.java:953)


Code.

@Override
public void onBackPressed() {
super.onBackPressed();

AlertDialog.Builder alertDialog2 = new AlertDialog.Builder(this);
alertDialog2.setTitle("Delete Data");
alertDialog2.setMessage("Are you sure you want to go back?.");
// Add the buttons
alertDialog2.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User clicked OK button
//Here i am doing JSON Stuff
JSONObject commandData = new JSONObject();

}
});
alertDialog2.show();

Answer

Comment this line:

super.onBackPressed();