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?
Comme indiqué dans les commentaires, vérifiez logcat. Ce que vous verrez est une exception NullPointerException. J'ai déjà eu ça aussi.
Vérifiez les éléments que vous avez utilisés dans la vue dans un widget.
Un objet RemoteViews (et, par conséquent, un widget d'application) peut prendre en charge les classes de présentation suivantes:
Et les classes de widgets suivantes:
L'utilisation d'éléments interdits provoque cette très
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"
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.
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.
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.
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 ...
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.
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» )
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 ...
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.
J'ai fait face à ce problème parce que j'essayais d'utiliser Check-box!
Donc, juste remove checkbox
.
cela fonctionnera bien.
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.
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.
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.
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.
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.
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"
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.