0

"Ошибка загрузки виджета"

82

Описание проблемы: Не удается загрузить виджет в Android

При загрузке виджета, если он не может найти ресурс или что-то в этом роде, на экране появляется сообщение "Проблема с загрузкой виджета". И всё! Потрясающе! Это сообщение остается на главном экране и даже не указывает, какой именно виджет не удалось загрузить.

Я разобрался с этой проблемой методом проб и ошибок, но хотел бы узнать, есть ли какие-либо ресурсы, где можно найти сообщение об ошибке, когда это происходит. Где в Android можно узнать, какую именно проблему он имел при загрузке виджета или даже, какой виджет не удалось загрузить?

5 ответ(ов)

0

Еще одна возможная причина этого:

Я увидел в логах:

Не удалось разрешить атрибут

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

Например:

android:background="?themeColor"

Изменение этого на конкретный цвет решило проблему.

android:background="@color/White"
0

Как указано в комментариях, проверьте logcat. Вы увидите исключение NullPointerException. У меня также была такая проблема раньше.

0

Существует, конечно, сценарий, при котором на главном экране загружен виджет, и пользователь затем удаляет приложение, содержащее этот виджет и конфигурационное приложение для виджетов.

Когда это происходит, на главном экране вы видите только сообщение "Ошибка загрузки виджета" в виде всплывающего окна. Насколько мне известно, виджет не получает никаких уведомлений о том, что пакет удаляется, и, наверное, после этого менеджер виджетов на главном экране просто выдает стандартное сообщение.

Такое поведение со стороны команды разработчиков ОС не очень продуманное. Я предлагаю, чтобы перед удалением пакета вызывались методы onDisabled() и onDestroy() виджета, чтобы они могли при необходимости выполнить очистку, и пользователю (обычному пользователю, не знакомому с техническими тонкостями) обеспечивался более аккуратный опыт.

0

У меня тоже была такая проблема, но только из-за тяжелого макета виджетов. Макет виджетов следует делать как можно легче. Теперь мой виджет работает отлично.

0

Объект RemoteViews (а следовательно, и виджет приложения) может поддерживать следующие классы макетов:

FrameLayout
LinearLayout
RelativeLayout
GridLayout

А также следующие классы виджетов:

AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
ViewFlipper
ListView
GridView
StackView
AdapterViewFlipper

Использование других классов приведет к проблеме, известной как "Проблема с загрузкой виджета".

Кроме того, проверьте логи (без каких-либо фильтров), чтобы увидеть точную строку, где возникла эта проблема.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь