Recibo muchos errores del tipo que se muestran en el subj. Estos errores parecen ser ocasionales y no puedo reproducirlos. De la pila puedo aprender que tal error puede ocurrir para mis diferentes recursos de diseño. La línea de XML también varía.
¿Alguien puede explicar por qué ocurre este error? ¿Y qué puedo hacer para solucionar este problema?
Apilar
=============================================================
com.fsp.android.f generated the following exception:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fsp.android.f/com.life360.android.ui.tour.TourActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>
--------- Stack trace ---------
1. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2649)
2. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
3. android.app.ActivityThread.access$2200(ActivityThread.java:131)
4. android.app.ActivityThread$H.handleMessage(ActivityThread.java:1975)
5. android.os.Handler.dispatchMessage(Handler.java:99)
6. android.os.Looper.loop(Looper.java:123)
7. android.app.ActivityThread.main(ActivityThread.java:4702)
8. java.lang.reflect.Method.invokeNative(Native Method)
9. java.lang.reflect.Method.invoke(Method.java:521)
10. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12. dalvik.system.NativeStart.main(Native Method)
-------------------------------
----------- Cause -----------
android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>
1. android.view.LayoutInflater.createView(LayoutInflater.java:513)
2. com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
3. android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
4. android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
5. android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
6. android.view.LayoutInflater.inflate(LayoutInflater.java:382)
7. android.view.LayoutInflater.inflate(LayoutInflater.java:320)
8. android.view.LayoutInflater.inflate(LayoutInflater.java:276)
9. com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:208)
10. android.app.Activity.setContentView(Activity.java:1629)
11. com.solvek.sample.ui.BaseActivity.onCreate(BaseActivity.java:23)
12. com.solvek.sample.ui.tour.TourActivity.onCreate(TourActivity.java:161)
13. android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
14. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2587)
15. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
16. android.app.ActivityThread.access$2200(ActivityThread.java:131)
17. android.app.ActivityThread$H.handleMessage(ActivityThread.java:1975)
18. android.os.Handler.dispatchMessage(Handler.java:99)
19. android.os.Looper.loop(Looper.java:123)
20. android.app.ActivityThread.main(ActivityThread.java:4702)
21. java.lang.reflect.Method.invokeNative(Native Method)
22. java.lang.reflect.Method.invoke(Method.java:521)
23. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
24. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
25. dalvik.system.NativeStart.main(Native Method)
-----------------------------
-------- Environment --------
Time =2010-12-20 08:27:35 AM
Device =tmobile/htc_espresso/espresso/espresso:2.1-update1/ERE27/216830:user/release-keys
Make =HTC
Model =T-Mobile myTouch 3G Slide
Product =htc_espresso
App =com.fsp.android.f, version 2.0.9 (build 1232)
Aquí hay un resultado de XML, sin embargo, dicho error ocurre en otros xmls
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ViewFlipper android:layout_gravity="fill" android:id="@+id/flipper" android:layout_height="fill_parent" android:layout_width="fill_parent">
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_1"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_2"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_3"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_4"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_5"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_6"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_7"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_8"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_9"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_10"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_11"/>
</ViewFlipper>
<LinearLayout android:id="@+id/exit_bar" android:layout_gravity="top" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/blue_bar" android:visibility="invisible">
<Button android:background="@drawable/orange_btn" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" android:textStyle="bold" android:textColor="#000000" android:shadowColor="#ffffff" android:shadowRadius="1.6" android:shadowDx="1.5" android:shadowDy="1.3" android:id="@+id/exit_tour_btn" android:text="Exit" android:layout_marginLeft="20dip"/>
<TextView android:layout_height="wrap_content" android:textColor="#ffffff" android:layout_gravity="center" android:layout_width="110dip" android:layout_marginLeft="20dip" android:textSize="16dip" android:textStyle="bold" android:text="Life360 Tour"/>
</LinearLayout>
<Button style="@style/BlueBtn" android:text="Continue" android:layout_marginTop="40dip" android:id="@+id/continue_btn" android:visibility="gone" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" />
<FrameLayout android:id="@+id/bottom_bar" android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/blue_bar" android:visibility="invisible">
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/left" android:layout_gravity="left|center" android:background="@drawable/tour_left" android:layout_marginLeft="10dip"/>
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/right" android:layout_gravity="right|center" android:background="@drawable/tour_right" android:layout_marginRight="10dip"/>
</FrameLayout>
</merge>
android
xml
resources
android-inflate
Solvek
fuente
fuente
Respuestas:
La excepción de inflado no es realmente el problema, pero realmente proviene de otro problema más profundo en su diseño que luego se envuelve en una InflateException. Un problema común es una excepción de falta de memoria al intentar inflar una vista de imagen cargando un recurso dibujable. Si uno de estos recursos tiene una alta resolución de píxeles, se necesitaría mucha memoria, lo que provocaría una excepción de inflado.
Básicamente, verifique que la resolución de píxeles en sus imágenes dibujables sea la mínima necesaria para su diseño.
fuente
ViewFlipper
carga todas las imágenes en la memoria durante el inflado del diseño. Debido a que mis imágenes son grandes, requiere mucha memoria, reemplacéViewFlipper
con lasImageSwitcher
cuales puedo cambiar las imágenes con animación,ViewFlipper
pero carga solo una imagen a la vez.fuente
Esto también puede suceder si usa una
VectorDrawable
biblioteca de soporte de uso y olvidó usarla enapp:srcCompat
lugar deandroid:src
El error exacto es: línea de archivo XML binario #XX: error al inflar la clase ImageView
Ver ese enlace
fuente
Tuve el mismo error al crear una vista personalizada con un solo constructor, intente definir todo el constructor para sus vistas personalizadas.
fuente
Sé que la pregunta ya está respondida, pero todavía estoy publicando con la idea de que alguien puede tener este tipo de problema.
En mi caso, el problema es que estoy cargando mi aplicación al teléfono que hace referencia a diseños de res / layout / folder y valores para @dimens de res / values / dimens aquí es font_22 al que está intentando acceder y está definido en res / values-xlarge / dimens.
De hecho, estoy actualizando la interfaz de usuario del proyecto existente.
Me encontré con este problema porque estoy usando IDE Eclipse donde ctrl + espacio para pista mientras escribo xml para la carpeta de diseño, muestra todos los valores de los valores, así como la carpeta de valores-xlarge, independientemente de para qué carpeta estoy escribiendo.
También sé que los valores en ambos archivos deben ser los mismos que los mapeados para diferentes pantallas.
Espero que esto pueda ayudar a alguien a encontrarse con este tipo de problema tonto.
fuente
Encontré el mismo error y encontré que la razón raíz es:
Use el contexto de la aplicación para inflar la vista.
Inflar con el contexto de actividad solucionó el error.
fuente
El tamaño de mi imagen es de solo 14Kb, pero el problema es que el diseñador me dio 1011px x 1819px (la resolución es demasiado alta, lo que provoca la InflateException)
fuente
En caso de que alguien tenga problemas similares, tuve un problema al inflar la vista:
View.inflate(getApplicationContext(), R.layout.my_layout, null)
arreglado reemplazando
getApplicationContext()
conthis
fuente
Tuve este error porque seleccioné el tema como tema Material. Pero cuando estaba tratando de ejecutar la aplicación en 4.4.2 me dio este error.
Solución: seleccione Theme_holo como tema
fuente
4.2.2
. Pero, ¿dónde cambio del tema Material a Theme_holo? No veo la palabra clave Material en mistyles.xml
ov21/styles.xml
. Vea mi pregunta: stackoverflow.com/questions/37883677/…Este enlace puede ayudarte. Intente revisar su manifiesto en busca de problemas. Si puede lograr que vuelva a suceder, publique todo el seguimiento de la pila para que podamos ver cuál es realmente el error.
EDITAR: estoy seguro de que ha verificado esto, pero ¿qué hay en la línea 12 del archivo XML que usa para el diseño TourActivity?
fuente
Para mí, el mensaje de error era en realidad insuficiente en el log cat, así que esto es lo que hice para descubrir qué causó el problema:
(En el mensaje de error de log cat, decía que el error se produjo al inflar un diseño específico en mi HomeFragment.java)
Evaluate expression
sobre ella:Run > Evaluate Expression
oalt - F8
tools:targetApi="lollipop"
(el error solo se produjo en dispositivos más antiguos).fuente
Encontré el mismo error y tardé dos días en identificar cuál fue el error.
El error fue simplemente porque estaba tratando de usar:
android:background
Más bien que:
app:srcCompat
en un archivo SVG
En su caso, creo que esto es todo.
Recomiendo usarlo de esta manera
agregue esto a su aplicación build.gradle
y
Espero que esto ayude.
fuente
Sé que es una pregunta respondida, pero no veo la causa que enfrenté.
Fue que Android Studio colocó mis dibujables en / drawable-V24 Mi emulador es API 23. Entonces, eventualmente no lo puedo encontrar.
La solución fue mover todos los elementos dibujables a la carpeta / drawable (no -24).
fuente
Debe copiar los archivos de imagen de la carpeta "drawable-24" a la carpeta "drawable".
fuente
Tuve el mismo error y resolví mover mis dibujos de la carpeta drawable-mdpi a la carpeta drawable. Me tomó algo de tiempo darme cuenta porque en Eclipse todo funcionó a la perfección, mientras que en Android Studio recibí estos feos errores de tiempo de ejecución.
Nota de edición: si está migrando de eclipse a Android Studio y su proyecto proviene de eclipse, puede suceder, así que tenga cuidado de que en Android Studio las cosas difieran un poco de eclipse.
fuente
En mi caso, este error ocurre cuando uso el botón de acción flotante y lo configuro
android:backgroundTint="#000"
. Entonces simplemente no establezcabackgroundTint
y resuelva el problema. Espero que sea útil para ti.fuente
app:backgroundTint
lugar deandroid:backgroundTint
.Para mí, mi problema era que estaba
Para un fondo LinearLayout, una vez que lo eliminé, la prueba pasó.
fuente
Tuve este problema en este momento y logré descubrir qué era. Estaba haciendo referencia a un color en mis valores que estaba causando problemas. Lo definí manualmente en lugar de usar uno de las sugerencias desplegables. ¡Entonces funcionó!
fuente
Tuve el mismo error cuando ejecuté mi aplicación en API lvl 16 (26 estaba bien). Fue porque usé
?attrr/colorAccent
en mi forma dibujable:Reemplazar eso con un color regular solucionó mi problema.
fuente
Tuve el mismo problema y lo resolví eliminando drawable-v24 con (24) delante de las imágenes en la carpeta dibujable y reemplazándolas con elementos dibujables normales.
fuente
Sé que este hilo es viejo, pero aún lo responde para que nadie más deba pasar noches sin dormir.
Estaba refactorizando un proyecto antiguo, cuyos archivos de diseño contenían atributos codificados como
android:maxLength = 500
. Así que decidí registrarlo en mires/dimen
archivo como<dimen name="max_length">500</dimen>
.Terminé de refactorizar casi 30 archivos de diseño con mi res-value. ¿Adivina qué? la próxima vez que ejecuté mi proyecto, comenzó a arrojar lo mismo
InflateException
.Como solución, necesitaba rehacer todos mis cambios y mantener todos esos valores igual que antes.
TLDR;
Paso 1: Todo funciona bien.
Paso 2: Para aumentar mi mantenimiento He sustituido
android:maxLength = 500
con<dimen name="max_length">500</dimen>
yandroid:maxLength = @dimen/max_length
, ahí es donde todo salió mal (chocar conInflateException
).Paso 3: todo funciona mal
Paso 4: Vuelva a hacer todo mi trabajo reemplazándolo nuevamente
android:maxLength = @dimen/max_length
por.android:maxLength = 500
Todo se solucionó.Paso 5: Todo funciona bien.
fuente
Lo resolví moviendo todos mis elementos dibujables de drawable-v24 a drawable
fuente
También me enfrenté a un problema similar. Mientras que para cualquiera, esto puede ser un problema de varios malos usos en el Código, como
Uno de los factores más ignorados puede ser el uso del contexto correcto al inflar vistas. Compruebe que no está utilizando ApplicationContext cuando se requiere un contexto de actividad. Mientras, ApplicationContext puede no terminar siempre en un error, pero dependiendo de su jerarquía de vistas puede ser crucial.
¡Resolví mi problema con un contexto MALO (usando ApplicationContext en lugar de Activity en un lapso de 4 días! Así que intente si eso resuelve. ¡Feliz codificación!
fuente
Me había enfrentado al mismo problema, había usado la etiqueta de vista en xml en lugar de Vista. Reemplazar para ver la clase solucionó el problema.
Espero que te ayude también.
fuente
Necesitamos verificar la versión de la API. Solía dar color de fondo a mi
LinearLayout
gustoseguro tuve el mismo error,
as_royalblue.xml
dentro de ladrawable
carpetay cómo lo solucioné , en realidad parece un problema de Api, por lo que debemos verificar el nivel de la API si está por encima de API 24 para poder usar de la manera que nos gusta. Pero si es menor de 24 años, debemos evitar el uso, las juts dan un color normal o un color no mezclado de color gradual.
dar identificación a sus lineales y establecer fondos si está bien
fuente
En mi caso, debo especificar el nombre completo del paquete del componente de la interfaz de usuario de la biblioteca que uso en mi archivo de diseño.
fuente
Para mí sucedió porque intenté mezclar imágenes de gráficos vectoriales XML con PNG ordinario en el mismo archivo de diseño,
solo después de reemplazar los gráficos vectoriales xml con png comenzó a funcionar
fuente
Solo resuelvo este problema, simplemente elimino sus imágenes de drawable (v24) y solo pegue en la carpeta de drawable, esto funciona para mí.
fuente
Tuve el mismo error en
Crashlytics
un dispositivo extraño: Motorola One Vision Android 5.1 y 20 GB (gratis) de RAM, rooteado Este dispositivo viene originalmente con Android 9.0, 4 GB de RAMProbablemente alguien está tratando de hackear la aplicación que estoy desarrollando actualmente y tiene problemas para lidiar con múltiples APK. Entonces no se pueden encontrar elementos dibujables y la aplicación genera el bloqueo
fuente