android android-collapsingtoolbarlayout inflate-exception android-support-design android-studio-2.1

android - Error al inflar la clase CollapsingToolbarLayout



android-collapsingtoolbarlayout inflate-exception (9)

Hola amigo me enfrento a este problema

Solo hazlo

compileSdkVersion 25 buildToolsVersion "25.0.2"

Y todos admiten el cambio de gradle a 25.1.1 es un trabajo para mí.

My CollapsingToolbarLayout se bloquea debido a un error al inflar la clase android.support.design.widget.CollapsingToolbarLayout.

Actualicé el estudio de Android el fin de semana pasado. Antes de la actualización, funciona bien. Después de que lo actualicé, se estrelló. Sin embargo, intenté degradarlo a la versión 2.0.0 y ya no funciona. Mi compañero de trabajo no tiene ningún problema con CollapsingToolbarLayout. No estoy seguro de lo que pasó.

El error fue:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.android/com.test.android.ui.activity.RandomActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class android.support.design.widget.CollapsingToolbarLayout at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class android.support.design.widget.CollapsingToolbarLayout at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136) at com.test.android.ui.activity.RefreshableActivity.onCreate(RefreshableActivity.java:31) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  at android.app.ActivityThread.access$800(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)  at com.test.android.ui.activity.RefreshableActivity.onCreate(RefreshableActivity.java:31)  at android.app.Activity.performCreate(Activity.java:5990)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  at android.app.ActivityThread.access$800(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  Caused by: java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat; or its super classes (declaration of ''android.support.v4.graphics.drawable.DrawableCompat'' appears in /data/app/com.test.android-1/base.apk) at android.support.design.widget.CollapsingToolbarLayout.setStatusBarScrim(CollapsingToolbarLayout.java:663) at android.support.design.widget.CollapsingToolbarLayout.<init>(CollapsingToolbarLayout.java:197) at android.support.design.widget.CollapsingToolbarLayout.<init>(CollapsingToolbarLayout.java:132) at java.lang.reflect.Constructor.newInstance(Native Method)  at java.lang.reflect.Constructor.newInstance(Constructor.java:288)  at android.view.LayoutInflater.createView(LayoutInflater.java:607)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)  at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)  at com.test.android.ui.activity.RefreshableActivity.onCreate(RefreshableActivity.java:31)  at android.app.Activity.performCreate(Activity.java:5990)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  at android.app.ActivityThread.access$800(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)

Aquí está mi CollapsingToolbarLayout:

<android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" app:contentScrim="@color/blue" app:statusBarScrim="@color/blue_dark" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" > <include layout="@layout/layout_page" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <include layout="@layout/layout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout>

Aquí está mi archivo de gradle:

compile ''com.google.android.gms:play-services:9.0.0'' compile ''com.android.support:recyclerview-v7:23.4.0'' compile ''com.android.support:support-v13:23.4.0'' compile ''com.android.support:appcompat-v7:23.4.0'' compile ''com.android.support:cardview-v7:23.4.0'' compile ''com.android.support:customtabs:23.4.0'' compile ''com.android.support:design:23.4.0''

tienen alguna idea? Gracias.


Encontré una solución. Que funcione. Inténtalo.

Agregue el siguiente código en el archivo de compilación de Gradle

compile (''com.android.support:support-v4:23.4.0''){ force = true; }

Parece que está teniendo problemas de conflicto de versión. Toda la biblioteca de soporte debe ser de la misma versión. Sin embargo, no usé la biblioteca de soporte v4 antes y funciona. No sé por qué la actualización de Android Studio a 2.1.1 causa el problema. Acabo de forzar a todas las bibliotecas v4 a las mismas bibliotecas de soporte.


Esto funcionó para mí. Cambie su aplicación appcompact y diseñe la versión de libray siguiente manera,

compile ''com.android.support:appcompat-v7:23.1.1'' compile ''com.android.support:design:23.1.1''


Mi problema fue que no todas las bibliotecas de soporte que importamos son las mismas, por ejemplo, tuve:

compile(''com.android.support:recyclerview-v7:23.4.0'') { exclude module: ''support-v4'' } compile ''com.android.support:support-annotations:24.0.0''

cambiándolo para que todas las importaciones fueran 24.0.0 permitió que la aplicación se ejecutara sin problemas.


Sé que ya hay una respuesta aceptada, PERO no funciona (o ya no funciona).

Pasé un par de horas investigando sobre este error, lo que se me ocurrió fue esto.

Primero, debido a la versión inicial de Android Nougat, también conocido como Android 7.0 (API 24), compileSdkVersion 24 ya está disponible. Para hacer eso, tienes que actualizar tu SDK. Paso 1

En segundo lugar, es actualizar sus archivos de gradle (requiere conexión a internet). Paso 2

También actualiza esta parte de app.gradle

Tercer (opcional) Proyecto limpio, Proyecto de compilación (Ambos en la pestaña Generar)

Espero que esto haya ayudado a alguien y ahorre algunas horas de investigación.

Saludos / feliz codificacion


Tuve el mismo problema al mostrar el mismo error al inflar CollapsingToolbar ... Tuve las siguientes dependencias en mi aplicación.

compile ''com.android.support:appcompat-v7:23.4.0'' compile ''com.android.support:design:23.4.0'' compile ''com.android.support:recyclerview-v7:23.4.0'' compile ''com.android.support:cardview-v7:23.4.0'' compile ''com.google.firebase:firebase-ads:10.0.1''

y compilar la herramienta 25.0.2 con compilado con API 23 sdk. Yo luego comprobé las dependencias y encontré que usa firebase

android:support:support-v4:24.0.0

y los usos de appcompat

android:support:support-v4-23.4.0 -> 24.0

Por lo tanto, he cambiado todo el número de la biblioteca de compilación para

compile ''com.android.support:appcompat-v7:24.0.0'' compile ''com.android.support:design:24.0.0'' compile ''com.android.support:recyclerview-v7:24.0.0'' compile ''com.android.support:cardview-v7:24.0.0'' compile ''com.google.firebase:firebase-ads:10.0.1''

Funcionó para mí ahora. ¿Qué tan duradero? No tengo ni idea.


Tuve el mismo problema, el código de @Shumin también es efectivo, pero es mejor eliminar los conflictos en lugar de evitarlos. Para encontrar el conflicto -

  1. En Android Studio, abra Terminal e ingrese a la gradlew app:dependencies .

  2. Compruebe el árbol de dependencias y vea qué biblioteca está causando conflicto

Actualización: - Para verificar conflictos, verifique las dependencias de cada biblioteca y vea si no está usando la misma dependencia en alguna otra biblioteca pero con una versión diferente. Por ejemplo, en la imagen a continuación, com.android.support:appcompat-v7 depende de com.android.support:support-vector-drawable:23.4.0 . Si encuentra alguna otra biblioteca dependiendo de com.android.support:support-vector-drawable pero la versión es diferente, entonces ha encontrado su conflicto.


encontré dos soluciones,

el primero es

app:statusBarScrim="@null"

segundo es forzar la aplicación

compile (''com.android.support:support-v4:23.4.0'') { force = true; }

Fuentes tomadas desde here


por favor agregue el siguiente código en menifiest.xml.

<activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

y el archivo de recursos de estilo

<style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style>