Как показать диалоговое окно «Вы уверены, ДА ИЛИ НЕТ», когда пользователь нажимает кнопку? - PullRequest
1 голос
/ 20 декабря 2010

Прежде всего, я должен сказать вам, что я искал здесь и в Google, и я не могу найти простой способ сделать это (я новичок в этом), тогда мне нужна ваша помощь, пожалуйста

У меня есть эта кнопка, которая удаляет друга из удаленной базы данных:

removeButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                finish();
                Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();
            }
        }); 

Я просто хочу показать простой диалог «Вы уверены? ДА или НЕТ» с двумя кнопками (ДА И НЕ) икогда пользователь нажимает YES, он должен называться следующим кодом:

con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                    finish();
                    Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();

существует простой способ сделать это?

спасибо

РЕДАКТИРОВАТЬ: я пытаюсь сделатьэто с этим: http://developer.android.com/guide/topics/ui/dialogs.html но это не работает, ничего не происходит, когда я нажимаю кнопку, не появляется диалоговое окно

мой новый код:

bundle = this.getIntent().getExtras();//get the intent & bundle passed by X
        builder = new AlertDialog.Builder(this);
        removeButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                /*
                con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                finish();
                Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();
                */
                builder.setMessage("Are you sure?")
                       .setCancelable(false)
                       .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int id) {
                                con.deletePermission(settings.getString("login",""),bundle.getString("email"));
                                finish();
                                Toast.makeText(getApplicationContext(), getString(R.string.friendsuccessfullyremoved), Toast.LENGTH_LONG).show();
                           }
                       })
                       .setNegativeButton("No", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                           }
                       });
                AlertDialog alert = builder.create();
            }
        }); 

Ответы [ 2 ]

3 голосов
/ 20 декабря 2010

Из документации :

Создает AlertDialog с аргументами, предоставленными этому построителю.Это не показывает () диалог.Это позволяет пользователю выполнять дополнительную обработку перед отображением диалогового окна.Используйте show (), если у вас нет никакой другой обработки, и вы хотите, чтобы она создавалась и отображалась.

Это означает, что вам нужно вызвать show().

2 голосов
/ 20 декабря 2010

Да, это отсутствует

 AlertDialog alert = builder.create();
 alert.show();

Предполагается, что вы хотите отобразить диалоговое окно с предупреждением сразу после нажатия кнопки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...