Читаем Программирование приложений для мобильных устройств под управлением Android. Часть 1 полностью

Выберем сейчас «No» – это просто закроет диалоговое окно и возвратит назад в приложение. Скажем, через некоторое время я действительно захочу выйти. Тогда я нажму кнопку завершения работы снова, которая выведет то же самое диалоговое окно на экран. На сей раз, однако, я выберу кнопку «Yes». В этой точке диалоговое окно alert dialog закроется, а новое диалоговое окно – на сей раз диалоговое окно прогресса (progress dialog) – будет выведено на экран. Оно сообщает мне, что процесс завершения работы продолжается. В конечном счете процесс завершается и приложение закрывает себя.

Давайте рассмотрим как это реализовано в исходном коде. Откроем файл alert_dialog_activity и перейдем к методу onCreate. Когда пользователь нажимает кнопку ShutDown, вызывается метод showDialogFragment, передавая ID желаемого диалогового окна. Метод showDialogFragment создает экземпляр AlertDialogFragment и затем вызывает его методом show.

AlertDialogFragment – это подкласс DialogFragment. И у него есть метод onCreateDialog. Этот метод будет вызван в ответ на вызов метода show. Он создает новый экземпляр диалогового окна (alert dialog).

Фактически здесь вы видите вызов setMessage. И сразу после этого – вызов setCancelable, затем – вызов setNegativeButton, и т.д. Как только мы сделали все вызовы, какие хотели, мы заканчиваем эту часть кода вызовом метода create, который эффективно соединяет все предыдущие вызовы и возвращает конечный сконфигурированный объект. Когда это диалоговое окно выведено на экран, если пользователь выбирает «No», то происходит вызов continueShutdown с параметром shouldContinue, равным false. А если пользователь выбирает «Yes», то происходит вызов continueShutdown с параметром true. Таким образом, если shouldContinue равен false, то мы закрываем диалоговое окно, и все продолжается, как будто ничего не произошло. А если shouldContinue – true, мы закрываем диалог и затем вызываем showDialogue, передавая ему тег прогресса ID. Это создает объект progressDialogueFragment и затем вызывает его методом show. В конечном счете мы заканчиваем методом onCreateDialogue в классе progressDialogueFragment, где мы создаем новый диалог прогресса (ProgressDialog), устанавливаем ему сообщение «Activity Shutting Down», и затем вызываем setIndetermitate с параметром true, который позволит диалоговому окну оставаться видимым, пока оно не будет закрыто.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных