Error al inflar la clase y android.support.v7.widget.CardView

Quiero usar CardView en mi proyecto, pero cuando ejecuto mi aplicación, aparece el siguiente error. Estoy usando Eclipse .

 Error: Error inflating class and android.support.v7.widget.CardView The graphical view of my xml file says 'The following classes could not be instantiated: - android.support.v7.widget.CardView (Open Class, Show Error Log) See the Error Log (Window > Show View) for more details.' 

Por favor ayuda.

Este es el diseño de mi fragmento donde he usado CardView

     

Este es el diseño de mi actividad.

          

Este es mi logcat

 FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.log/com.example.log.HomeScreenActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.CardView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4745) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.CardView at android.view.LayoutInflater.createView(LayoutInflater.java:613) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at com.example.log.MyContactsFragment.onCreateView(MyContactsFragment.java:60) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1504) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:942) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1121) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1484) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:571) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163) at android.app.Activity.performStart(Activity.java:5018) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032) ... 11 more Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:587) 25 more Caused by: java.lang.NoClassDefFoundError: android.support.v7.cardview.R$styleable at android.support.v7.widget.CardView.initialize(CardView.java:203) at android.support.v7.widget.CardView.(CardView.java:101) ... 28 more 

Alguien que haya encontrado el mismo problema o lo haya resuelto, coméntelo.

Creo que puedo responder mi propia pregunta.

Vaya a Archivo -> Importar -> Código de Android existente en el área de trabajo -> Buscar (Vaya a sdk / extras / android / support / v7 / cardview) -> Haga clic en Aceptar -> Haga clic en Finalizar

El explorador de su proyecto ahora mostrará cardview como un proyecto.

Haga clic derecho en el proyecto cardview -> Propiedades -> Android (Panel izquierdo) -> Habilite isLibrary (marque la checkbox) -> Aplicar -> ok

Ahora haga clic con el botón derecho en su proyecto -> Propiedades -> Android (panel izquierdo) -> Agregar (en la biblioteca) -> vista de tarjeta -> aplicar -> aceptar

Ahora haz clic derecho en tu proyecto otra vez -> ruta de comstackción -> configura la ruta de comstackción -> En la pestaña de proyectos, agrega cardview

Estás listo.

Supongo que su problema no está dentro de su diseño xml, sino en su configuración build.gradle.

Cuando desee utilizar la biblioteca de soporte para Recyclerview o CardView en dispositivos de API inferiores, no solo deberá importar la biblioteca de v7, sino que también deberá importar el soporte de Recycler View y Card View de forma independiente.

Me gusta esto:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.+' compile 'com.android.support:cardview-v7:21.0.+' compile 'com.android.support:recyclerview-v7:21.0.+' compile 'com.android.support:support-v4:21.0.0' } 

Esto se observa en los documentos de Google aquí: https://developer.android.com/training/material/compatibility.html

Ver la sección de dependencias.

Además, puedes descargar la muestra de RecyclerView de Google para descubrir.

Espero que esto ayude!

En mi caso, tengo que hacer ambas cosas, agregar android.support.v7.widget.CardView como un proyecto de biblioteca y también agregar + verificar su archivo jar en la java build path

  1. Vaya a Archivo -> Importar -> Código de Android existente en el área de trabajo -> Buscar (Vaya a sdk / extras / android / support / v7 / cardview) -> Haga clic en Aceptar -> Haga clic en Finalizar

  2. Haga clic derecho en el proyecto cardview -> Propiedades -> Android (Panel izquierdo) -> Habilite isLibrary (marque la checkbox) -> Aplicar -> ok

  3. Haga clic derecho en su proyecto -> Propiedades -> Android (panel izquierdo) -> Agregar (en la biblioteca) -> tarjeta de visita -> aplicar -> ok

  4. Haga clic derecho en su proyecto nuevamente -> comstackr ruta -> configurar ruta de comstackción -> en bibliotecas -> agregar jar -> expandir cardview -> expandir libs -> seleccionar android.support.v7.widget.CardView.jar

  5. bajo pedido y exportación -> compruebe android.support.v7.widget.CardView.jar -> haga clic en Aceptar

Perdí horas en esto, para mí la última pieza del rompecabezas iba para el proyecto “cardview” que se había importado a Eclipse como un proyecto de Android, luego, haciendo clic derecho en> properties> android> y cambiándolo de Android 2.1 a Lollipop.

si está utilizando intellij, siga estos pasos, esto realmente funciona

  • haga clic en su proyecto,
  • haga clic derecho -> abrir Configuración del módulo (f4)
  • importar cardview desde \ sdk \ extras \ android \ support \ v7 \
  • agregar archivo .jar al módulo de tarjeta de visita
  • haga clic en su proyecto y dé la dependencia del módulo a cardview
  • ahora, haga clic en el botón (+) en cardview -> android -> en la parte superior verá una checkbox (módulo de biblioteca), habilítelo.
  • haga clic en Aceptar y cierre su cuadro de diálogo de configuración.
  • reconstruye tu proyecto y ejecútalo

Me desapareció el error al agregar dependencias

Los widgets RecyclerView y CardView son parte de las bibliotecas de soporte de v7. Para usar estos widgets en su proyecto, agregue estas dependencias de Gradle al módulo de su aplicación:

dependencias {… comstackr ‘com.android.support:cardview-v7:21.0.+’ comstackr ‘com.android.support:recyclerview-v7:21.0.+’}

http://developer.android.com/training/material/lists-cards.html

Estos pasos funcionan para mí 🙂

Vaya a Archivo -> Importar -> Código de Android existente en el área de trabajo -> Buscar (Vaya a sdk / extras / android / support / v7 / cardview) -> Haga clic en Aceptar -> Haga clic en Finalizar

El explorador de su proyecto ahora mostrará cardview como un proyecto.

Haga clic derecho en el proyecto cardview -> Propiedades -> Android (Panel izquierdo) -> Habilite isLibrary (marque la checkbox) -> Aplicar -> ok

Ahora haga clic con el botón derecho en su proyecto -> Propiedades -> Android (panel izquierdo) -> Agregar (en la biblioteca) -> vista de tarjeta -> aplicar -> aceptar

Ahora haz clic derecho en tu proyecto otra vez -> ruta de comstackción -> configura la ruta de comstackción -> En la pestaña de proyectos, agrega cardview

un paso más que debe requerir para eliminar el error, es orden de cardview lib.

entonces haga clic derecho en su proyecto de nuevo -> propiedades -> Android (panel izquierdo) -> seleccione cardview lib en la ventana de la biblioteca -> y mueva hacia arriba

@sunil

Como se dijo antes:

  1. Vaya a Archivo -> Importar -> Código de Android existente en el área de trabajo -> Buscar (Vaya a sdk / extras / android / support / v7 / cardview) -> Haga clic en Aceptar -> Haga clic en Finalizar

  2. Haga clic derecho en el proyecto cardview -> Propiedades -> Android (Panel izquierdo) -> Habilite isLibrary (marque la checkbox) -> Aplicar -> ok

  3. Haga clic derecho en su proyecto -> Propiedades -> Android (panel izquierdo) -> Agregar (en la biblioteca) -> tarjeta de visita -> aplicar -> ok

Si esto no funciona, proceda a agregar y eliminar archivos jar individuales del mismo paquete de la carpeta del proyecto de la biblioteca de su código importado, android-support-v7-cardview/libs . Retire el tarro, limpie el proyecto y vuelva a intentarlo. Elimine el proyecto que un tipo sugirió agregar, elimine cualquier tarro externo relacionado con la vista de tarjeta (creo que estos causan conflictos). Limpie el proyecto y esperemos que eso funcione para usted.

Nota: Personalmente, tuve que cambiar el nivel de comstackción objective de la biblioteca de vistas cardinales de 4.0.3 a 5.0, luego volví a 4.1.2 , limpiando el proyecto cada vez, para que también funcione.

Para arreglar este problema primero debe agregar cardview desde el

  1. Cierre el proyecto principal.
  2. Retire el android-support-v7-appcompat.
  3. Reinicia el Eclipse.
  4. Agregue el android-support-v7-appcompat.
  5. Limpio, para construir el proyecto.
  6. Luego abre el proyecto principal y crea todos los proyectos.
  7. El error aún permanece. Reiniciar eclipse Eso es.

Funciona para mi.

importar la biblioteca CardView como el Proyecto Eclipse en lugar del Proyecto Android

Resolví mi problema reiniciando el eclipse. También asegúrese de haber agregado los archivos jar en la ruta de comstackción y marcado para importar / exportar.

Esta solución funciona en mí.

1- Vaya a “sdk \ extras \ android \ m2repository \ com \ android \ support \ recyclerview-v7 * 22.1.1 *” (última versión del 22.1.1 por ahora)

2- Abra el archivo recyclerview-v7-22.1.1.aar con Winrar.

3- Hay un archivo jar llamado classes.jar. Copia eso en tu carpeta de proyectos libs.

4- Haga clic derecho en classes.jar, agregue a la ruta de comstackción.

Eso es.

Una nota relacionada: si está utilizando las bibliotecas de soporte, está bastante seguro de que sus dependencias son correctas, y llegó aquí mediante una búsqueda de “Error inflando la clase CardView”, luego asegúrese de que su diseño XML esté usando y no solo !

Los dos errores son bastante similares y me tomó unos minutos enfrentarme a la palma de la mano cuando me di cuenta de que no estaba prestando atención al nombre de clase completo en el mensaje de error y estaba usando el no compatible en mi diseño sin darme cuenta eso.

Si está usando VISUAL STUDIO y obtiene este error, intente reiniciar VS y luego Rebuild Solution. Eso funcionó para mí. Con suerte, esto le ahorra a alguien algo de tiempo.