Введение
Общее описание
Структура приложения
Уроки
Описание библиотеки
Внутренние данные библиотеки
Связывание данных
Экраны
Компоненты
Навигация в DePro
Взаимодействие с сервером
Работа с базой данных
Пуш уведомления
Анимация в DePro
Диалоги
Дополнительные элементы разметки
Общая информация
Calendar
DateDiapason
DrumPicker
ComponEditText
EditTextMask
Gallery
ComponList
PagerIndicator
SheetBottom
ComponSwitch
ComponTextView
Дополнительный материал
Кастомный функционал
Поддержка нескольких языков
Особенности авторизации
Валидация перед отправкой на сервер
Приложения

Диалоги

Диалоги в библиотеке декларативного программирования DePro используются для отображения сообщений об ошибках ввода-вывода. Они могут быть либо DialogFragment с лайоутом заданным в параметре errorDialogLayoutId класса MyParams, либо View на экране разметки. В этом случае задается параметр errorDialogViewId. Его значение буде для всех экранов, где предусматривается вывод сообщения об ошибках. Фрагменты используют View своей activity. В разметке всех экранов должна присутствовать View с id, указанным параметре errorDialogViewId.

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

Сообщение об ошибке приходит с сервера в формате: {“title”:”текст заголовка”,”message”:”текст сообщения”}. В View присутствуют элементы с соответствующими id (R.id.title и R.id.message). В принципе, можно передавать и другие данные и использовать другие названия данных. Лишь бы они совпадали с названиями полей в R.id.error_dialog. При этом нужно учитывать следующее.

Кроме ошибок, которые приходят с сервера, существуют ошибки, которые обнаруживаются на смартфоне, например, time out, отсутствие интернета и др. В этом случае библиотека формирует свои сообщения об ошибках в указанном выше формате. Поэтому, если с сервера будут приходить другие названия, то в разметке нужно предусмотреть R.id.title и R.id.message, либо эти названия указать в алиасах.

С учетом этого понятно как заполнять параметры которые начинаются с “idString...” в классе MyParams.

Если в MyParams не указан ни errorDialogLayoutId ни errorDialogViewId, то сообщение об ошибках будет вывадиться с помощью библиотечного диалога.

Указанные выше диалоги относятся ко всем экранам. Также каждая модель может вывести сообщение об ошибке в View на соответствующем экране. Ее id задается в дополнительном функционале модели: .errorShowView(viewId). Такой диалог будет использоваться только с конкретной моделью.

Лучше пакета DePro может быть только искусственный интеллект
Задать вопрос
Отправить вопрос