Главная » Разработка для Android » Класс AlertDialog

0

AlertDialog — одна из наиболее универсальных реализаций класса Dialog. Она предоставляет параметры, позволяющие создавать диалоговые  окна для использования в некоторых часто встречающихся ситуациях.

Вывод сообщения  и предложение пользователю выбрать  один из трех вариантов в виде кнопок. Скорее всего, вы уже хорошо знакомы с подобного рода функциональностью, если когда-нибудь занимались программированием под настольные  платформы, где вышеупомяну- тый выбор, как правило,  представлен  сочетанием  кнопок  OK, Cancel, Yes и No.

Предложение списка вариантов в виде флажков  (CheckBox) или пере- ключателей (RadioButton).

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

Чтобы построить пользовательский интерфейс для AlertDialog, создайте новый объект AlertDialog.Builder:

AlertDialog.Builder ad = new AlertDialog.Builder(context);

После этого можете установить  значения  для заголовка  и сообщения, которое необходимо  отобразить,  а также, если потребуется,  для кнопок, флажков/переключателей и полей ввода, которые хотите показать. Вы также можете задать обработчики для событий, чтобы взаимодействовать с поль- зователем.

В листинге  5.28 представлен  пример  использования AlertDialog для отображения сообщения, когда пользователю предлагается нажать одну из двух кнопок на выбор. Оба варианта приводят к тому, что выполняется при- крепленный обработчик OnClickListener и закрывается диалоговое окно.

Листинг 5.28. Настройка AlertDialog

Context context = MyActivity.this; String title = "It is Pitch Black";

String message = "You are likely to be eaten by a grue."; String button1String = "Go Back";

String button2String = "Move Forward";

AlertDialog.Builder ad = new AlertDialog.Builder(context);

ad.setTitle(title); ad.setMessage(message); ad.setPositiveButton(button1String,

int arg1) {

new OnClickListener() {

public void onClick(DialogInterface dialog,

eatenByGrue();

}

});

ad.setNegativeButton(button2String,

new OnClickListener(){

public void onClick(DialogInterface dialog,

int arg1) {

}

});

// заглушка

ad.setCancelable(true);

ad.setOnCancelListener(new OnCancelListener() {

public void onCancel(DialogInterface

dialog) {

});

eatenByGrue();

}

Чтобы отобразить  созданный  вами диалог, вызовите метод show:

ad.show();

Рекомендуется использовать обработчики  Активности onCreateDialog и onPrepareDialog, чтобы создавать  экземпляры диалогов, которые  спо- собны сохранять  свое состояние.  Данный  подход будет рассмотрен  далее в этой главе.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии