Message "problème de chargement du Widget"
lors du chargement d'un widget s'il ne peut pas trouver une ressource ou quelque chose qu'il dit problème Chargement Widget. C'est tout! Incroyable! Ce message reste sur l'écran d'accueil et ne dit même pas quel widget il a eu des problèmes de chargement.
j'ai trouvé par tâtonnements mais je voudrais savoir s'il y a des endroits pour trouver le message d'erreur quand cela se produit. Où Android dira-t-il quel problème il a eu en chargeant le widget ou même quel widget il n'a pas chargé?
18 réponses
Comme dit dans les commentaires, vérifiez logcat. Ce que vous allez voir est une NullPointerException. J'ai eu cela avant de trop.
vérifiez les éléments que vous avez utilisés dans la vue d'un Widget..
un objet RemoteViews (et, par conséquent, un Widget App) peut supporter les classes de layout suivantes:
- FrameLayout
- LinearLayout
- RelativeLayout
- GridLayout
et le widget suivant classes:
- AnalogClock
- bouton
- Chronomètre
- ImageButton
- ImageView
- ProgressBar
- TextView
- ViewFlipper
- ListView
- GridView
- StackView
- AdapterViewFlipper
L'utilisation d'éléments interdits provoque ce même
problème Chargement Widget
message, sans dire où cela s'est produit.encore une autre cause possible de cela:
j'ai vu ça dans le journal:
échec de la résolution de l'attribut
le problème était que je tentais d'utiliser une couleur du thème actuel comme arrière-plan à l'une de mes mises en page.
E. g
android:background="?themeColor"
le fait de changer cette couleur en une couleur spécifique a résolu le problème.
android:background="@color/White"
Il ya bien sûr l'utilisation-cas où il y avait un widget chargé sur la page d'accueil et l'utilisateur désinstalle ensuite l'application qui contient le widget et widget config app.
lorsque cela se produit, tout ce que vous voyez est le "problème Chargement Widget" dans une boîte de toast-comme sur l'écran d'accueil. Pour autant que je puisse le dire, le widget ne reçoit aucune indication que le paquet est désinstallé et je suppose que l'écran D'accueil AppWidgetManager bloque un message par défaut.
comportement peu réfléchi de la part de L'équipe de L'OS. Je suggère qu'il serait préférable d'appeler les méthodes onDisbled() et onDestroy() du widget avant que le paquet ne soit enlevé afin qu'ils puissent ranger si besoin est et que l'utilisateur (non-geek phone user) obtienne une expérience propre.
j'ai également faire face à ce problème, mais seulement en raison de la disposition lourde widget. La disposition du Widget devrait être aussi légère que vous pouvez créer. Maintenant mon widget fonctionne parfaitement.
problème lors du chargement le widget résulte d'un problème/s dans votre configuration de widget!
il n'y a qu'une quantité limitée de ressources que vous pouvez utiliser dans le widget.Assurez-vous d'utiliser les éléments appropriés et leurs champs.
un objet RemoteViews (et, par conséquent, un Widget App) peut prendre en charge ce qui suit ... classes de widget:
AnalogClock Button ...
mon problème était: j'avais le champ de ce bouton qui n'était pas supporté
android:onClick="onClick"
la suppression de ceci a permis au widget d'apparaître où placé (si placé précédemment) et dans le menu des widgets disponibles.
en fait, le fait de définir android:onClick=
pour tout View
entraîne cette erreur.
un objet RemoteViews (et, par conséquent, un Widget App) peut supporter les classes de layout suivantes:
FrameLayout
LinearLayout
RelativeLayout
GridLayout
et les classes de widget suivantes:
AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
ViewFlipper
ListView
GridView
StackView
AdapterViewFlipper
toute utilisation autre que ci-dessus provoque ce soi-disant "widget de chargement de problème".
de plus, vérifiez les journaux (sans aucun filtre) pour voir la ligne exacte de ce problème.
Elle peut être causée par Moving of the specific (Widget) Application from Internal Memory to SD card
.( Android – Fixing" Problème Chargement Widget "Erreur )
j'ai fait face à ce problème parce que j'essayais d'utiliser la case à cocher!
donc, juste remove checkbox
.
ça marchera très bien.
vient de corriger une autre variante de cette erreur non mentionnée dans les autres réponses.
symptômes étaient: 1)" problème chargement widget " erreur sur Gingerbread et ci-dessous 2) exactement Le même build fonctionnait bien sur ICS et Jellybean 3) aucune erreur dans logcat
le problème a été causé par la manipulation d'une vue qui n'a jamais été gonflée dans les remoteviews. Plus précisément:
remoteviews.setViewVisibility(viewId, View.GONE);
où viewId était un ressource, mais c'était dans un layout qui n'a jamais été ajouté aux vues à distance. Aucune erreur n'a été lancée, et le widget affiché 'Problem loading widget' après l'appel à .updateAppWidget ()
j'ai eu le même problème mais le logcat ne montrent rien de suspect, ni une erreur, ni un avertissement. En gros, j'appelais une mauvaise méthode pour changer la couleur du texte de textview .
j'ai le même problème lorsque je désinstalle note app, j'essaie de toucher et de tenir le message et il affiche supprimer menu, je choisis supprimer qu'il disparaît.
j'ai eu le même problème. Problème résolu: j'ai utilisé la vue personnalisée dans le widget. Dans ma situation, C'était TextView avec une police de caractère personnalisée.
dans mon cas, j'avais un textView
flottant sur d'autres vues. La suppression et la pensée d'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.
essentiellement Widgets avalent exceptions. Juste définir un filtre dans votre logcat, et vous serez en mesure de voir quel est le problème...
ci-dessus, je ne fais que rechercher le mot " Widget " et je ne mets aucun filtre sur une application spécifique. Il me donne essentiellement le Throwable.getMessage()
sans la trace de pile complète.
pour info. J'ai un FrameLayout avec un TextView à l'intérieur, tout le contenu dans un LinerLayout, qui serait l'en-tête de mon widget. Au début j'avais ce
<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'ai eu le message "problème chargement widget". La solution était de changer ce
android:layout_height="?attr/actionBarSize"
pour ceci:
android:layout_height="64dp"
dans mon cas, l'erreur a été causée par un changement de nom de classe de fournisseur. Donc, si vous avez changé le nom de la classe Widget Provider, essayez de le changer de nouveau. De plus, si vous avez changé le nom des fichiers xml (ex. widget_info.xml
, widget_layout.xml
), vous pourriez vouloir les changer aussi.
cela s'est produit seulement lorsque l'application mise à jour par l'utilisateur et le" vieux " widget était actuellement visible.
j'ai aussi le même problème -
j'utilisais android.soutien.contrainte.ConstraintLayout c'est pourquoi il disait " widget de chargement de problème " après avoir enlevé ceci et changé en LinearLayout Problème résolu comme @Gangnus disant , il ne fonctionnera que pour des vues spécifiques seulement.