0
@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();
        }

この警告ダイアログは速すぎて、読むこともクリックすることもできません!! 何故ですか ?

4

6 に答える 6

5

問題は、super.onBackPressed(); を呼び出す前に Popit をスローすることです。消して :)

于 2012-11-27T11:06:23.983 に答える
2
super.onBackPressed();

この行を削除します。

削除しない場合、デフォルトの機能がトリガーされ、現在のアクティビティが閉じられます。

于 2012-11-27T11:06:00.747 に答える
1

この行を削除super.onBackPressed();

onBackPressed() でダイアログを表示しています

そのため、 onBackPressed(); の動作をオーバーライドしているようです。

スーパークラスメソッドを呼び出さないでください。

于 2012-11-27T11:10:28.900 に答える
1

これを試して

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

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



    }
于 2012-11-27T11:06:05.353 に答える
1

これを試して

@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();
}
于 2012-11-27T11:07:47.177 に答える
1

を削除しますsuper.onBackPressed();

これはうまくいきます:

public void onBackPressed() {
    // TODO Auto-generated method stub          
      PopIt("Exit Application", "Are you sure you want to exit?");
    }
于 2012-11-27T11:11:37.607 に答える