Erreur classe de gonflage et android.support.v7.widget.CardView

? Harsh Pokharna @ | Original: StackOverFlow

Je veux utiliser Vignettes dans mon projet, mais quand je lance mon application, je obtiens l'erreur suivante . Je utilise «____» .

Eclipse

Please help.

Ce est la mise en page pour mon fragment où je ai utilisé 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.'

CardView

Ce est la mise en page pour mon activité .

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.log.MyContactsFragment" >

<!-- TODO: Update blank fragment layout -->

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cvContactDetails"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_gravity="center"
    android:background="?android:attr/selectableItemBackground"
    android:clickable="false"
    android:elevation="20dp" >

    <TextView
        android:id="@+id/tvContacts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Contact Info" />

    <Button
        android:id="@+id/bDelete"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Delete" />

    <Button
        android:id="@+id/bExport"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Export to phone contacts" />
</android.support.v7.widget.CardView>

Ce est ma logcat

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:id="@+id/flMainContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

    <ListView
        android:id="@+id/lvLeftDrawer"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:alpha="255"
        android:background="#0B2161"
        android:divider="@null"
        android:choiceMode="singleChoice" >
    </ListView>

    <ListView
        android:id="@+id/lvRightDrawer"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:alpha="255"
        android:background="#0B2161"
        android:divider="@null"
        android:choiceMode="singleChoice" >
    </ListView>

</android.support.v4.widget.DrawerLayout>

Quelqu'un qui a rencontré le même problème ou résolu, se il vous plaît commentaire .



Top 5 Respuesta

1Harsh Pokharna @

Je suppose que je peux répondre à ma propre question.

Allez à Fichier - > Importer - > code existant Android en espace de travail - > Parcourir (Passez à sdk / extras / android / support / v7 / Vignettes ) - > cliquez sur OK - > Cliquez sur Terminer

Votre explorateur de projet va maintenant montrer Vignettes comme un projet.

Cliquez droit sur le projet de Vignettes - > Propriétés - > Android ( le volet gauche ) - > Activer IsLibrary ( cochez la case ) - > Appliquer - > ok

Maintenant un clic droit sur ​​votre projet - > Propriétés - > Android ( volet de gauche ) - > Ajouter (sous la bibliothèque ) - > Vignettes - > appliquer - > ok

Maintenant clic droit sur ​​votre projet nouveau - > Chemin de compilation - > configure construire chemin - > Sous l'onglet projets, ajouter des Vignettes

You are done.



2Bullest @

Je me suis allé par erreur Ajout d'une dépendance

Les widgets RecyclerView et Vignettes font partie des bibliothèques v7 de soutien . Pour utiliser ces widgets dans votre projet, ajouter ces dépendances Gradle au module de votre application :

dépendances {     ...     compiler ' com.android.support:cardview-v7:21.0.+ '     compiler ' com.android.support:recyclerview-v7:21.0.+ ' }

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

3Piyush Kukadiya @

Dans mon cas, je dois faire les deux choses ajouter 10-22 15:23:52.907: E/AndroidRuntime(696): FATAL EXCEPTION: main 10-22 15:23:52.907: E/AndroidRuntime(696): 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 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.ActivityThread.access$600(ActivityThread.java:130) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.os.Handler.dispatchMessage(Handler.java:99) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.os.Looper.loop(Looper.java:137) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.ActivityThread.main(ActivityThread.java:4745) 10-22 15:23:52.907: E/AndroidRuntime(696): at java.lang.reflect.Method.invokeNative(Native Method) 10-22 15:23:52.907: E/AndroidRuntime(696): at java.lang.reflect.Method.invoke(Method.java:511) 10-22 15:23:52.907: E/AndroidRuntime(696): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 10-22 15:23:52.907: E/AndroidRuntime(696): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-22 15:23:52.907: E/AndroidRuntime(696): at dalvik.system.NativeStart.main(Native Method) 10-22 15:23:52.907: E/AndroidRuntime(696): Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.CardView 10-22 15:23:52.907: E/AndroidRuntime(696): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 10-22 15:23:52.907: E/AndroidRuntime(696): at com.example.log.MyContactsFragment.onCreateView(MyContactsFragment.java:60) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1504) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:942) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1121) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1484) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:571) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.Activity.performStart(Activity.java:5018) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032) 10-22 15:23:52.907: E/AndroidRuntime(696): ... 11 more 10-22 15:23:52.907: E/AndroidRuntime(696): Caused by: java.lang.reflect.InvocationTargetException 10-22 15:23:52.907: E/AndroidRuntime(696): at java.lang.reflect.Constructor.constructNative(Native Method) 10-22 15:23:52.907: E/AndroidRuntime(696): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.view.LayoutInflater.createView(LayoutInflater.java:587) 10-22 15:23:52.907: E/AndroidRuntime(696): ... 25 more 10-22 15:23:52.907: E/AndroidRuntime(696): Caused by: java.lang.NoClassDefFoundError: android.support.v7.cardview.R$styleable 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v7.widget.CardView.initialize(CardView.java:203) 10-22 15:23:52.907: E/AndroidRuntime(696): at android.support.v7.widget.CardView.<init>(CardView.java:101) 10-22 15:23:52.907: E/AndroidRuntime(696): ... 28 more comme un projet de bibliothèque et également ajouter + vérifie son fichier jar dans android.support.v7.widget.CardView

Allez à Fichier - > Importer - > code existant Android en espace de travail - > Parcourir (Passez à sdk / extras / android / support / v7 / Vignettes ) - > cliquez sur OK - > Cliquez sur Terminer

Cliquez droit sur le projet de Vignettes - > Propriétés - > Android ( le volet gauche ) - > Activer IsLibrary ( cochez la case ) - > Appliquer - > ok

Faites un clic droit sur ​​votre projet - > Propriétés - > Android ( volet de gauche ) - > Ajouter (sous la bibliothèque ) - > Vignettes - > appliquer - > ok

un clic droit sur votre projet nouveau - > Chemin de compilation - > configure construire chemin - > dans les bibliothèques - > Add JAR - > élargir Vignettes - > élargir libs - > sélectionner java build path

sous l'ordre et l'exportation - > cocher android.support.v7.widget.CardView.jar - > cliquez sur OK

4Steven Elliott @

Je ai perdu des heures sur ce, pour moi la dernière pièce du puzzle allais le projet « Vignettes » qui avait été importé dans Eclipse comme un projet Android, clic puis à droite > propriétés > Android > et en modifiant à partir de Android 2.1 à Lollipop !

5Arthur Wang @

Je suppose que votre problème ne est pas dans votre mise en page xml, mais vos paramètres de build.gradle .

Lorsque vous souhaitez utiliser la bibliothèque de support pour Recyclerview ou Vignettes dans les dispositifs de l'API inférieures, non seulement vous besoin d'importer la bibliothèque de v7, mais doit aussi importer et Recycler Voir carte Voir soutien indépendamment .

Like this:

android.support.v7.widget.CardView.jar

Ce est noté par les documents de Google ici: https://developer.android.com/training/material/compatibility.html

Voir la section des dépendances .

En outre, vous pouvez télécharger l'échantillon de Google de RecyclerView à creuser .

Je espère que cela vous aidera !