goodtimes922
@goodtimes922

Как обработать нажатие кнопки alertDialog?

AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
                        builder.setView(promptsView);
                        builder.setTitle("Введите имя пользователя")
                               // .setMessage("Введите имя")
                                .setCancelable(false)
                                .setPositiveButton("ОК",
                                        new DialogInterface.OnClickListener() {
                                            public void onClick(DialogInterface dialog, int id) {
                                                if (userInput.getText().toString().equals(""))
                                                {
                                                    Toast toast = Toast.makeText(view.getContext(),
                                                            "Заполните поля!", Toast.LENGTH_SHORT);
                                                    toast.show();
                                                }else {
                                                    dialog.cancel();
                                                }
                                            }
                                        });
                        AlertDialog alert = builder.create();
                        alert.show();


Если поле пустое, то диалоговое окно не должно закрываться, а оно закрывается. Почему?
  • Вопрос задан
  • 607 просмотров
Пригласить эксперта
Ответы на вопрос 1
@LenLord
android reverse
Сначала определите диалог с пустым onClick
А потом переопределите onClick дальше:

adb.setView(view).setTitle(R.string.fw)
                .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which)
                    {
                        //Ничего здесь не определеяем
                    }
                });


А дальше:
Button positiveButton = d.getButton(Dialog.BUTTON_POSITIVE);
            positiveButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
               // Пишите тут свою логику
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы