java modal Mensaje de "Problema de carga de problema"




android widget tutorial (15)

Al cargar un widget si no puede encontrar un recurso o algo, dice Widget de carga de problemas. ¡Eso es todo! ¡Asombroso! Este mensaje permanece en la pantalla de inicio y ni siquiera dice qué widget tuvo problemas para cargar.

Lo descubrí por prueba y error, pero me gustaría saber si hay algún lugar para encontrar el mensaje de error cuando esto ocurra. ¿Dónde indicará Android qué problema tuvo al cargar el widget o incluso qué widget no pudo cargar?


Answer #1

Compruebe los elementos que utilizó en la vista en un widget.

Enlace de documentación

Un objeto RemoteViews (y, en consecuencia, un widget de aplicación) puede admitir las siguientes clases de diseño:

  • FrameLayout
  • LinearLayout
  • Disposición relativa
  • Diseño de cuadrícula

Y las siguientes clases de widgets:

  • Reloj analogo
  • Botón
  • Cronómetro
  • ImageButton
  • ImageView
  • Barra de progreso
  • Vista de texto
  • ViewFlipper
  • Vista de la lista
  • Vista en cuadrícula
  • StackView
  • AdapterViewFlipper

El uso de elementos prohibidos causa este mensaje muy "Problema de carga de problemas", sin decir dónde sucedió.


Answer #2

Tengo el mismo problema cuando desinstalo la aplicación de nota, trato de mantener presionado el mensaje y muestra el menú Eliminar, elijo eliminar que desaparecer.


Answer #3

Como se dijo en los comentarios, ver logcat. Lo que verá es una NullPointerException. He tenido esto antes también.


Answer #4

Existe, por supuesto, el caso de uso donde se cargó un widget en la página de inicio y el usuario luego desinstala la aplicación que contiene la aplicación de configuración de widgets y widgets.

Cuando eso sucede, todo lo que ves es el "Widget de carga de problemas" en un cuadro tipo brindis en la pantalla de inicio. Por lo que puedo decir, el widget no indica que el paquete se desinstale y supongo que la aplicación de inicio AppWidgetManager muestra un mensaje predeterminado.

Comportamiento no bien pensado por parte del equipo del OS. Sugiero que sería mejor llamar al widget en los métodos Dispersable () y onDestroy () antes de que se elimine el paquete para que puedan organizarse si es necesario y el usuario (usuario no geek del teléfono) obtiene una experiencia limpia.



Answer #6

Un objeto RemoteViews (y, en consecuencia, un widget de aplicación) puede admitir las siguientes clases de diseño:

FrameLayout
LinearLayout
RelativeLayout
GridLayout

Y las siguientes clases de widgets:

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

Cualquier cosa que no sea la anterior provoca el llamado "widget de carga de problemas".

Además, verifique los registros (sin ningún filtro) para ver la línea exacta de este problema.


Answer #7

También estaba teniendo el mismo problema:

Estaba usando android.support.constraint.ConstraintLayout por eso decía "Problema al cargar widget" después de eliminar esto y cambiar a LinearLayout problema resuelto como @Gangnus saying que solo funcionará para vistas específicas.


Answer #8

Tuve el mismo problema. Problema resuelto: utilicé una vista personalizada en el widget. En mi situación, era TextView con tipo de letra personalizado.


Answer #9

Otra posible causa de esto:

Vi esto en el registro:

Error al resolver el atributo

El problema era que estaba intentando usar un color del tema actual como fondo de uno de mis diseños.

p.ej

android:background="?themeColor"

Cambiar esto a un color específico resolvió el problema.

android:background="@color/White"

Answer #10

También me enfrento a este problema, pero solo debido al diseño de widgets pesados. La distribución de los widgets debe ser lo más ligera que puedas crear. Ahora mi widget funciona perfecto.


Answer #11

En mi caso, tenía un textView flotante sobre otras vistas. Quitarlo y pensar en una forma diferente de mostrar mi información al usuario con las vistas existentes que no se superponen fue la solución.

Así que no superponga las vistas con RelativeLayout , todavía lo uso y funciona, pero las vistas no se superponen tanto como sea posible.


Answer #12

¡Me enfrenté a este problema porque estaba tratando de usar Check-box!

Entonces, solo remove checkbox .

Funcionará bien.


Answer #13

Acabo de arreglar otra variante de este error no mencionado en las otras respuestas.

Los síntomas fueron: 1) Error de "widget de carga problemática" en Gingerbread y debajo de 2) La misma versión exacta funcionó bien en ICS y Jellybean 3) No hay errores en logcat

El problema fue causado por la manipulación de una vista que nunca se infló en las vistas remotas. Específicamente:

remoteviews.setViewVisibility(viewId, View.GONE);

Donde viewId era un recurso válido, pero estaba en un diseño que nunca se agregó a las vistas remotas. No se lanzaron errores, y el widget muestra 'Widget de carga problemática' después de la llamada a .updateAppWidget ()


Answer #14

Problema Cargando los resultados del widget de problema / s en el diseño de su widget!

Solo hay una cantidad limitada de recursos que puede usar en el widget. Asegúrese de utilizar los elementos adecuados y sus campos.

Un objeto RemoteViews (y, en consecuencia, un widget de aplicación) puede admitir las siguientes ... clases de widgets:

AnalogClock
Button
...

Documentos del desarrollador

Mi problema era: tenía el campo de este botón que no era compatible

android:onClick="onClick" 

Al eliminar esto, se habilitó el widget para que aparezca donde se ubique (si se colocó anteriormente) y en el menú de widgets disponibles.

De hecho, la configuración de android:onClick= para cualquier View da como resultado este error.


Answer #15

Para que conste. Tengo un FrameLayout con un TextView dentro, todo el contenido en un LinerLayout, que sería el encabezado de mi widget. Inicialmente tuve esto

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

Como todos aquí, tuve el mensaje "Problema al cargar el widget". La solución fue cambiar esto

    android:layout_height="?attr/actionBarSize"

para esto:

    android:layout_height="64dp"




loading