org.xmlpull.v1.XmlPullParserException para "mapa de bits de etiqueta dibujable no válido"

Ok, eso es raro.

He recibido este error para una de mis actividades, lo extraño es que el mapa de bits se utiliza en cada actividad! Ni siquiera sé cómo reproducir la excepción, está funcionando bien para mí (y otros creo).

Este es el stacktrace completo:

java.lang.RuntimeException: Unable to start activity ComponentInfo{it.enrichman.bolloauto/it.enrichman.bolloauto.activities.ArchivioActivity}: android.view.InflateException: Binary XML file line #15: Error inflating class android.widget.ListView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) at android.app.ActivityThread.access$1500(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:4385) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class android.widget.ListView at android.view.LayoutInflater.createView(LayoutInflater.java:518) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568) at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) at android.view.LayoutInflater.inflate(LayoutInflater.java:408) at android.view.LayoutInflater.inflate(LayoutInflater.java:320) at android.view.LayoutInflater.inflate(LayoutInflater.java:276) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:250) at android.app.Activity.setContentView(Activity.java:1742) at it.enrichman.bolloauto.activities.ArchivioActivity.onCreate(ArchivioActivity.java:36) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836) ... 11 more Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:415) at android.view.LayoutInflater.createView(LayoutInflater.java:505) ... 22 more Caused by: android.content.res.Resources$NotFoundException: File res/drawable/backrepeat.xml from color state list resource ID #0x7f020075 at android.content.res.Resources.loadColorStateList(Resources.java:1855) at android.content.res.TypedArray.getColor(TypedArray.java:319) at android.widget.AbsListView.<init>(AbsListView.java:632) at android.widget.ListView.<init>(ListView.java:164) at android.widget.ListView.<init>(ListView.java:160) ... 25 more Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag bitmap at android.content.res.ColorStateList.createFromXmlInner(ColorStateList.java:146) at android.content.res.ColorStateList.createFromXml(ColorStateList.java:129) at android.content.res.Resources.loadColorStateList(Resources.java:1852) ... 29 more 

El recurso "desaparecido" es éste (dentro de la carpeta dibujable):

 <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/bg" android:tileMode="repeat" /> 

El "bg" dibujable es interior drawable-hdpi (podría ser que un problema?), Pero como he dicho que se utiliza en todas las actividades como fondo!

El error se llama durante la configuración del diseño:

 setContentView(R.layout.archivio); 

El diseño xml es éste:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="BLABLABLA" android:id="@+id/archivioTextView" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:textIsSelectable="false" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_marginRight="30dp" android:layout_marginLeft="30dp"/> <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/listaVeicoli" android:layout_gravity="center" android:drawSelectorOnTop="false"/> </LinearLayout> 

(Algunas de las declaraciones inútiles son puestas por el Diseñador de IntelliJ!)

He buscado problemas similares, pero no tengo id "extraño" como @ + id / list u otros problemas que otros usuarios acumularon.

¿Alguna ayuda en esto? ¿Qué me estoy perdiendo? Gracias

Al final he encontrado FINALMENTE la solución. He intentado con el emulador diferente y estaba teniendo este choque solamente con la API 10 (2.3.3) o menos. Mirando alrededor de los xmls y tratando de hacer cosas diferentes (también copiando el bg dibujable en todas partes, o el cambio de id a mi lista) he encontrado este material extraño en mi tema personalizado:

 <item name="android:windowBackground">@drawable/backrepeat</item> <item name="android:colorBackground">@drawable/backrepeat</item> 

Esto parece no ser un problema para la nueva versión de Android, pero para los más antiguos sí.

Sólo tienes que quitar la definición colorBackground (que tal vez debería ser sólo un color) y eso es todo!

Espero que esto ayude a alguien más!

Cree una carpeta dibujable dentro de la carpeta res . Trate de mantener su bg dentro de "res / drawable /" .

Espero que esto te ayudará.

Ponga su selector en la carpeta res/drawable y también le dará la identificación de Listview como android:id="@+android:id/list" .

Espero que te ayude.

Gracias.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.