Pregunta

@Override
    public void onBackPressed() {
    // TODO Auto-generated method stub            
      PopIt("Exit Application", "Are you sure you want to exit?");

        super.onBackPressed();

    }

    public void PopIt( String title, String message ){
            new AlertDialog.Builder(this)
            .setTitle( title )
            .setMessage( message )
            .setPositiveButton("YES", new OnClickListener() 
            {
                public void onClick(DialogInterface arg0, int arg1) {
                    //do stuff onclick of YES
                    finish();
                }
            }).setNegativeButton("NO", new OnClickListener() {
                public void onClick(DialogInterface arg0, int arg1) {
                    //do stuff onclick of CANCEL
                    Toast.makeText(getBaseContext(), "You touched CANCEL", Toast.LENGTH_SHORT).show();
                }
            }).show();
        }

this alert dialog gone so fast as I cant read or click on it !! why is that ?

¿Fue útil?

Solución

The problem is that you throw the Popit and before you call super.onBackPressed(); delete it :)

Otros consejos

super.onBackPressed();

remove this line.

if you don't remove it, the default functionality will be triggered which will close the current activity.

Try this

 public void onBackPressed() {
    // TODO Auto-generated method stub     

 super.onBackPressed();       
      PopIt("Exit Application", "Are you sure you want to exit?");



    }

Try this

@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
    .setTitle("Really Exit?")
    .setMessage("Are you sure you want to exit?")
    .setNegativeButton(android.R.string.no, null)
    .setPositiveButton(android.R.string.yes, new OnClickListener() {

        public void onClick(DialogInterface arg0, int arg1) {
            youractivity.super.onBackPressed();
        }
    }).create().show();
}

Remove this line super.onBackPressed();

You are displaying dialog in onBackPressed()

so its like your are overriding behavior of onBackPressed();

so don't call super class method.

remove the super.onBackPressed();

this will work :

public void onBackPressed() {
    // TODO Auto-generated method stub          
      PopIt("Exit Application", "Are you sure you want to exit?");
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top