AlertDialog в onPostExecute не отображается - PullRequest
3 голосов
/ 31 марта 2012

Я пытаюсь показать диалоговое окно для метода onPostExecute в AsyncTask

@Override
protected void onPostExecute(HttpResponse response) {
if (response == null) {
            Log.d(TAG, "onPostExecute, response == null");
            AlertDialog.Builder builder = new AlertDialog.Builder(ConfirmPhoneNoCode.this);
            builder.setMessage("Are you sure you want to exit?").setCancelable(false)
                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            ConfirmPhoneNoCode.this.finish();
                        }
                    }).setNegativeButton("No", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });
            AlertDialog alert = builder.create();
        } else {
            int responseCode = response.getStatusLine().getStatusCode();
            String message = response.getStatusLine().getReasonPhrase();
            Log.d(TAG, "Response Code: " + String.valueOf(responseCode));
            Log.d(TAG, "Message: " + message);
        }
    }

Я получаю сообщение журнала

03-31 23:02:42.912: D/ConfirmPhoneCode(21966): onPostExecute, response == null

, что означает

if(response == null) is executed but AlertDialog box don't show-up.

Буду признателен, если кто-нибудь сможет мне помочь с этим.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 31 марта 2012

alert.show(); Я думаю, вы должны добавить это ...

AlertDialog alert = builder.create();
alert.show();
1 голос
/ 31 марта 2012

Выглядит нормально для меня. Вы звоните alert.show()?

...