Как только фрагменты XML-кода, необходимые для определения виджета, готовы и все Java-классы виджета доступны, давайте посмотрим, что происходит, когда пользователь выбирает имя виджета в списке виджетов (см. ) для создания экземпляра виджета. Android вызывает активность конфигурирования (см. ) и ожидает, что эта активность выполнит следующие действия.
Получит идентификатор экземпляра виджета из вызывающего намерения, которое запускает активность конфигурирования.
С помощью набора полей формы запросит у пользователя информацию, специфичную для экземпляра виджета.
Сохранит информацию об экземпляре виджета таким образом, чтобы последующие вызовы для обновления виджета имели к ней доступ.
Подготовит первоначальное отображение представления виджета, извлекая компоновку виджета, и создаст объект RemoteViews с этим представлением.
Вызовет методы объекта RemoteViews, чтобы установить значения индивидуальных объектов представления, таких как изображения и текст.
Воспользуется объектом RemoteViews для регистрации любых событий onClick на любом из подчиненных представлений виджета.
Сообщит AppWidgetManager о необходимости рисования RemoteViews на домашнем экране, используя идентификатор экземпляра этого виджета.
Вернет идентификатор виджета и закроется.
Обратите внимание, что первоначальное отображение виджета в этом случае выполняется активностью конфигурирования, а не методом onUpdate класса AppWidgetProvider.
На заметку! Активность конфигурирования является необязательной тут. Если активность конфигурирования не указана, вызов направляется непосредственно методу onUpdate экземпляра AppWidgetProvider. При этом обязанность обновления представления возлагается на
onUpdate.
Android будет повторять этот процесс для каждого экземпляра виджета, создаваемого пользователем. Также следует отметить, что прямой документированной поддержки ограничений в создании пользователем единственного экземпляра виджета не существует.
Опубликовал Kest
February 14 2015 13:52:49 ·
0 Комментариев ·
3023 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.