webentwicklung-frage-antwort-db.com.de

Meldung "Problem beim Laden des Widgets"

Wenn ein Widget geladen wird, wenn es eine Ressource oder etwas nicht finden kann, heißt es Problem Loading Widget. Das ist alles! Tolle! Diese Nachricht bleibt auf dem Startbildschirm und sagt nicht einmal aus, welches Widget Probleme beim Laden hatte. 

Ich habe es durch Ausprobieren herausgefunden, aber ich würde gerne wissen, ob es Orte gibt, an denen die Fehlermeldung gefunden werden kann, wenn dies auftritt. Wo wird Android sagen, welches Problem das Widget geladen hat oder sogar welches Widget es nicht laden konnte?

39
Androider

Wie in Kommentaren erwähnt, checklogcat. Was Sie sehen werden, ist eine NullPointerException. Ich habe das auch schon vorher gehabt.

25
Unconn

Überprüfen Sie die Elemente, die Sie in der Ansicht verwendet haben, in einem Widget.

Dokumentationslink

Ein RemoteViews-Objekt (und folglich ein App Widget) kann die folgenden Layoutklassen unterstützen:

  • FrameLayout
  • LinearLayout
  • RelativesLayout
  • Gitterstruktur

Und die folgenden Widgetklassen:

  • Analoge Uhr
  • Taste
  • Chronometer
  • ImageButton
  • Bildansicht
  • Fortschrittsanzeige
  • Textvorschau
  • ViewFlipper
  • Listenansicht
  • Rasteransicht
  • StackView
  • AdapterViewFlipper

Die Verwendung verbotener Elemente verursacht dies sehr 

Problem beim Laden des Widgets

Nachricht, ohne zu sagen, wo es passiert ist.

105
Gangnus

Noch eine weitere mögliche Ursache dafür:

Ich habe das im Protokoll gesehen:

Attribut konnte nicht aufgelöst werden

Das Problem war, dass ich versuchte, eine Farbe des aktuellen Designs als Hintergrund für eines meiner Layouts zu verwenden.

z.B 

Android:background="?themeColor"

Durch das Ändern einer bestimmten Farbe wurde das Problem behoben.

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

Es gibt natürlich den Anwendungsfall, bei dem ein Widget auf der Homepage geladen wurde und der Benutzer die Anwendung deinstalliert, die die Widget- und Widget-Konfigurationsanwendung enthält.

In diesem Fall wird nur das "Problem Loading Widget" in einer Toastbox auf dem Startbildschirm angezeigt. Soweit ich das beurteilen kann, erhält das Widget keine Anzeige, dass das Paket deinstalliert wird, und ich denke, der Home-Bildschirm AppWidgetManager gibt eine Standardmeldung aus.

Nicht durchdachtes Verhalten des OS-Teams. Ich schlage vor, dass es besser ist, die onDisbled () - und OnDestroy () - Methode des Widgets aufzurufen, bevor das Paket entfernt wird, damit sie bei Bedarf aufräumen können und der Benutzer (Telefonbenutzer ohne Geek) ein sauberes Erlebnis erhält.

3
Grandpop

Ich stehe auch vor diesem Problem, aber nur wegen des starken Widget-Layouts. Das Widget-Layout sollte so hell wie möglich sein. Nun funktioniert mein Widget perfekt.

3

Ein RemoteViews-Objekt (und folglich ein App Widget) kann die folgenden Layoutklassen unterstützen:

FrameLayout
LinearLayout
RelativeLayout
GridLayout

Und die folgenden Widgetklassen:

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

Jede andere Verwendung als oben verursacht dieses sogenannte "Problem Loading Widget".

Überprüfen Sie außerdem die Protokolle (ohne Filter), um die genaue Zeile dieses Problems zu sehen.

3
Sachin Sharma

Problem Laden der Widget-Ergebnisse von Problem/s in Ihr Widget-Layout!

Es gibt nur eine begrenzte Menge an Ressourcen, die Sie im Widget verwenden können. Stellen Sie sicher, dass Sie die richtigen Elemente und ihre Felder verwenden.

Ein RemoteViews-Objekt (und folglich ein App Widget) kann die folgenden ... Widget-Klassen unterstützen:

AnalogClock
Button
...

Entwicklerdokumente

Mein Problem war: Ich hatte das Feld dieses Buttons, das nicht unterstützt wurde

Android:onClick="onClick" 

Wenn Sie diese Option löschen, wird das Widget an der Position (sofern zuvor platziert) und im Menü der verfügbaren Widgets angezeigt.

Die Einstellung von Android:onClick= für eine beliebige View führt zu diesem Fehler.

3
coolcool1994

Dies kann durch Moving of the specific (Widget) Application from Internal Memory to SD card verursacht werden. ( Android - Fehler beim Laden des "Problem Loading Widget" )

2
hasanghaforian

Grundsätzlich schlucken Widgets Ausnahmen. Legen Sie einfach einen geeigneten Filter in Ihrem Logcat fest, und Sie können sehen, was das Problem ist ...

 enter image description here

Oben suche ich nur nach dem Wort "Widget" und setze keinen Filter für eine bestimmte Anwendung. Es gibt im Wesentlichen die Throwable.getMessage() ohne die volle Stack-Trace.

2
Eurig Jones

Ich bin diesem Problem begegnet, weil ich versucht habe, das Kontrollkästchen zu verwenden! 

Also einfach remove checkbox.

es wird gut funktionieren.

1
Armsuntech

Habe gerade eine andere Variante dieses Fehlers behoben, die in den anderen Antworten nicht erwähnt wurde.

Die Symptome waren: 1) "Problem beim Laden des Widgets" -Fehler bei Gingerbread und darunter 2) Der exakt gleiche Build lief bei ICS und Jellybean einwandfrei. 3) Keine Fehler in logcat

Das Problem wurde durch die Manipulation einer Ansicht verursacht, die in den Remoteviews nie aufgeblasen wurde. Speziell:

remoteviews.setViewVisibility(viewId, View.GONE);

Wobei viewId eine gültige Ressource war, es sich jedoch um ein Layout handelte, das den Remote-Ansichten nie hinzugefügt wurde. Es wurden keine Fehler ausgegeben und das Widget zeigte nach dem Aufruf von .updateAppWidget () "Problem beim Laden des Widgets" an.

1
Jim Vitek

Ich habe dasselbe Problem, wenn ich die Notiz-App deinstalliere. Ich versuche, die Nachricht zu berühren und zu halten. Das Menü zum Entfernen wird angezeigt.

0
Yusufmm

In meinem Fall wurde der Fehler durch einen geänderten Anbieterklassennamen verursacht. Wenn Sie also den Namen der Widget-Provider-Klasse geändert haben, versuchen Sie, ihn erneut zu ändern. Wenn Sie die Namen von XML-Dateien geändert haben (z. B. widget_info.xml, widget_layout.xml), möchten Sie möglicherweise auch diese ändern.

Dies geschah nur, wenn die vom Benutzer aktualisierte App und das "alte" Widget aktuell sichtbar waren.

0
crpse

Ich hatte auch das gleiche Problem - 

Ich habe Android.support.constraint.ConstraintLayout verwendet. Aus diesem Grund wurde "Problem beim Laden des Widgets" nach dem Entfernen dieses Objekts und dem Wechsel zu LinearLayout als @Gangnus Spruch geändert. _, es funktioniert nur für bestimmte Ansichten. 

0
Bajrang Hudda

In meinem Fall hatte ich eine textView über anderen Ansichten. Es zu entfernen und zu überlegen, wie ich dem Benutzer meine Informationen mit den vorhandenen Ansichten, die sich nicht überschneiden, anders anzeigen würde, war die Lösung. 

Überlappen Sie also keine Ansichten mit RelativeLayout, ich verwende es immer noch und es funktioniert, aber die Ansichten überschneiden sich nicht so sehr wie möglich.

0
Vlad M.

Ich hatte das gleiche Problem. Problem gelöst: Ich habe eine benutzerdefinierte Ansicht im Widget verwendet. In meiner Situation war es TextView mit eigener Schrift.

0
ikosdroid

Nur für das Protokoll. Ich habe ein FrameLayout mit einem TextView, den gesamten Inhalt eines LinerLayout, das wäre der Header meines Widget. Anfangs hatte ich das

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

Wie jeder hier hatte ich die Meldung "Problem beim Laden des Widgets". Die Lösung war dies zu ändern

    Android:layout_height="?attr/actionBarSize"

dafür:

    Android:layout_height="64dp"
0
jorgeavilae

Ich hatte das gleiche Problem, aber der Logcat zeigte nichts Verdächtiges, weder einen Fehler noch eine Warnung. Grundsätzlich habe ich eine falsche Methode aufgerufen, um die Farbe der Textansicht text zu ändern.

0
AntonSack