Подтвердить что ты не робот

Сообщение "_Питание Загрузка Виджета"

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

Ссылка документации

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

  • FrameLayout
  • LinearLayout
  • RelativeLayout
  • GridLayout

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

  • AnalogClock
  • Кнопка
  • Хронометр
  • ImageButton
  • ImageView
  • ProgressBar
  • TextView
  • ViewFlipper
  • ListView
  • GridView
  • StackView
  • AdapterViewFlipper

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

Ответ 3

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

Я видел это в журнале:

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

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

e.g

android:background="?themeColor"

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

android:background="@color/White"

Ответ 4

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

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

Непродуманное поведение со стороны команды OS. Я предлагаю, чтобы было лучше вызвать методы widget onDisbled() и onDestroy() до того, как пакет будет удален, чтобы они могли при необходимости убирать, и пользователь (пользователь без имени пользователя) получает чистый опыт.

Ответ 5

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

Ответ 6

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

FrameLayout
LinearLayout
RelativeLayout
GridLayout

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

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

Все, что используется, кроме выше, вызывает так называемый "виджет загрузки задачи".

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

Ответ 8

Проблема Загрузка результатов виджета из задачи /s в макет виджетов!

Существует ограниченный объем ресурсов, которые вы можете использовать в виджетах. Убедитесь, что вы используете правильные элементы и их поля.

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

AnalogClock
Button
...

Документация разработчика

Моя проблема: у меня было это поле Button, которое не поддерживалось

android:onClick="onClick" 

Удаление этого параметра позволило отображать виджетов, где они были размещены (если они были размещены ранее) и в меню доступных виджетов.

Фактически установка android:onClick= для любого View приводит к этой ошибке.

Ответ 9

Я столкнулся с этой проблемой, потому что пытался использовать флажок!

Итак, просто remove checkbox.

он будет работать нормально.

Ответ 10

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

Симптомы: 1) Ошибка "Ошибка загрузки виджета" на Gingerbread и ниже 2) Точно такая же конструкция отлично справилась с ICS и Jellybean 3) Нет ошибок в logcat

Проблема была вызвана манипулированием представлением, которое никогда не накачивалось в remoteviews. В частности:

remoteviews.setViewVisibility(viewId, View.GONE);

Если viewId был действительным ресурсом, но он был в макете, который никогда не добавлялся к удаленным представлениям. Никаких ошибок не было, и виджет отобразил "Проблема с загрузкой виджета" после вызова .updateAppWidget()

Ответ 11

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

Ответ 12

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

Ответ 13

У меня была такая же проблема. Устранена проблема: я использовал пользовательский вид в виджетах. В моей ситуации это был TextView с пользовательским шрифтом.

Ответ 14

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

Поэтому не перекрывайте представления с помощью RelativeLayout, я все еще использую его, и он работает, но представления не перекрываются как можно больше.

Ответ 15

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

введите описание изображения здесь

Выше, я просто ищу слова " Виджет" и не устанавливаю фильтр для какого-либо конкретного приложения. Это по существу дает мне Throwable.getMessage() без полной трассировки стека.

Ответ 16

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

<LinearLayout
[...] 

<FrameLayout
    android:id="@+id/widget"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/app_name"
        android:layout_margin="@dimen/activity_horizontal_margin"
        android:textColor="@android:color/white"/>
</FrameLayout>

[...] 
</LinearLayout>

Как все здесь, у меня появилось сообщение "Проблема с загрузкой". Решением было изменение этого

    android:layout_height="?attr/actionBarSize"

для этого:

    android:layout_height="64dp"