web-dev-qa-db-fra.com

Message "Problème de chargement du widget"

Lors du chargement d'un widget s'il ne peut pas trouver une ressource ou quelque chose qui dit Problème de chargement du widget. C'est tout! Incroyable! Ce message reste sur l'écran d'accueil et ne dit même pas quel widget il a eu du mal à charger. 

Je l'ai compris par essais et erreurs, mais j'aimerais savoir s'il y a des endroits où trouver le message d'erreur lorsque cela se produit. Où Android dira-t-il quel problème il avait à charger le widget ou même quel widget il n'a pas pu charger?

39
Androider

Comme indiqué dans les commentaires, vérifiez logcat. Ce que vous verrez est une exception NullPointerException. J'ai déjà eu ça aussi.

25
Unconn

Vérifiez les éléments que vous avez utilisés dans la vue dans un widget.

Lien vers la documentation

Un objet RemoteViews (et, par conséquent, un widget d'application) peut prendre en charge les classes de présentation suivantes:

  • FrameLayout
  • LinearLayout
  • Disposition relative
  • Disposition de la grille

Et les classes de widgets suivantes:

  • Horloge analogique
  • Bouton
  • Chronomètre
  • ImageButton
  • ImageView
  • Barre de progression
  • Affichage
  • ViewFlipper
  • ListView
  • GridView
  • StackView
  • AdapterViewFlipper

L'utilisation d'éléments interdits provoque cette très 

Widget de chargement de problème

message, sans dire où est-ce arrivé.

105
Gangnus

Encore une autre cause possible de ceci:

J'ai vu ceci dans le journal:

Impossible de résoudre l'attribut

Le problème était que j'essayais d'utiliser une couleur du thème actuel comme arrière-plan d'une de mes mises en page.

par exemple 

Android:background="?themeColor"

Changer cela en une couleur spécifique a résolu le problème.

Android:background="@color/White"
8
Kuffs

Il y a bien sûr le cas d'utilisation où un widget était chargé sur la page d'accueil et l'utilisateur désinstallait ensuite l'application contenant le widget et l'application de configuration de widget.

Lorsque cela se produit, tout ce que vous voyez est le "Widget de chargement de problème" dans une zone de type pain grillé sur l'écran d'accueil. Autant que je sache, le widget n'indique pas que le package est en cours de désinstallation et j'imagine que l'écran d'accueil AppWidgetManager envoie un message par défaut.

Un comportement peu réfléchi de la part de l'équipe OS. Je suggère qu'il serait préférable d'appeler les méthodes onDisbled () et onDestroy () du widget avant la suppression du paquet afin qu'elles puissent être rangées si nécessaire et que l'utilisateur (utilisateur de téléphone autre que le geek) obtienne une expérience épurée.

3
Grandpop

Je suis également confronté à ce problème, mais uniquement en raison de la lourde disposition des widgets. La disposition des widgets doit être légère autant que vous pouvez en créer. Maintenant, mon widget fonctionne parfaitement.

3

Un objet RemoteViews (et, par conséquent, un widget d'application) peut prendre en charge les classes de présentation suivantes:

FrameLayout
LinearLayout
RelativeLayout
GridLayout

Et les classes de widgets suivantes:

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

Tout ce qui utilise autre que ce qui précède provoque ce que l'on appelle le "widget Chargement de problèmes".

De plus, vérifiez les journaux (sans aucun filtre) pour voir la ligne exacte de ce problème.

3
Sachin Sharma

Problème Le chargement du widget résulte de problème/s dans la présentation de votre widget!

Vous ne pouvez utiliser qu'un nombre limité de ressources dans le widget. Assurez-vous d'utiliser les éléments appropriés et leurs champs.

Un objet RemoteViews (et, par conséquent, un widget d'application) peut prendre en charge les classes ... de widgets suivantes:

AnalogClock
Button
...

Documentation développeur

Mon problème était: j'avais le champ de ce bouton qui n'était pas supporté

Android:onClick="onClick" 

Cette suppression permettait au widget d’apparaître où il était placé (si précédemment placé) et dans le menu des widgets disponibles.

En fait, définir Android:onClick= pour toute View entraîne cette erreur.

3
coolcool1994

Cela peut être dû à Moving of the specific (Widget) Application from Internal Memory to SD card. ( Android - Correction de l'erreur «Widget de chargement de problèmes» )

2
hasanghaforian

En gros, les widgets avalent des exceptions. Il suffit de définir un filtre approprié dans votre logcat, et vous pourrez voir quel est le problème ...

 enter image description here

Ci-dessus, je ne fais que rechercher le mot "Widget" et ne configurer aucun filtre pour aucune application spécifique. Cela me donne essentiellement le Throwable.getMessage() sans la trace complète de la pile.

2
Eurig Jones

J'ai fait face à ce problème parce que j'essayais d'utiliser Check-box! 

Donc, juste remove checkbox.

cela fonctionnera bien.

1
Armsuntech

J'ai le même problème lorsque je désinstalle l'application de note, j'essaie de toucher et de maintenir le message et il montre supprimer le menu, je choisis supprimer qu'il disparaisse.

0
Yusufmm

Dans mon cas, une erreur a été provoquée par le changement de nom de la classe de fournisseur. Donc, si vous avez changé le nom de la classe Widget Provider, essayez de le rétablir. De même, si vous avez modifié le nom des fichiers xml (par exemple, widget_info.xml, widget_layout.xml), vous pouvez également les modifier.

Cela ne s'est produit que lorsque l'utilisateur a mis à jour l'application et que l'ancien widget était actuellement visible.

0
crpse

J'avais aussi le même problème - 

J'utilisais Android.support.constraint.ConstraintLayout c'est pourquoi il disait "Problème lors du chargement du widget" après la suppression de cette erreur et le changement en LinearLayout résolu comme @Gangnus en disant , cela ne fonctionnera que pour des vues spécifiques. 

0
Bajrang Hudda

Dans mon cas, j'avais une variable textView flottante par rapport à d'autres vues. Le supprimer et penser à une manière différente de montrer mes informations à l'utilisateur avec les vues existantes qui ne se chevauchent pas était la solution. 

Donc, ne chevauchez pas les vues avec RelativeLayout, je l’utilise toujours et cela fonctionne, mais les vues ne se chevauchent pas autant que possible.

0
Vlad M.

J'ai eu le même problème. Problème résolu: J'ai utilisé l'affichage personnalisé dans un widget. Dans ma situation, c’était TextView avec une police de caractères personnalisée.

0
ikosdroid

Juste pour info. J'ai un FrameLayout avec un TextView à l'intérieur, tout le contenu d'un LinerLayout, qui serait l'en-tête de mon widget. Au départ, j'ai eu cette

<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>

Comme tout le monde ici, j'avais le message "Problème de chargement du widget". La solution était de changer cela

    Android:layout_height="?attr/actionBarSize"

pour ça:

    Android:layout_height="64dp"
0
jorgeavilae

J'ai eu le même problème, mais le logcat n'a rien montré de suspect, ni d'erreur ni d'avertissement. Fondamentalement, j’appelais une mauvaise méthode pour modifier la couleur de text du textview.

0
AntonSack