web-dev-qa-db-fra.com

Erreur de gonflage de la classe Android.support.v7.widget.RecyclerView

J'essaie d'utiliser RecyclerView dans mon projet existant, construit sans erreurs, mais aucune erreur de classe n'est trouvée pour RecyclerView lors du gonflage. Je ne vois pas ce que je fais mal. Merci pour ton aide!

//activity_main.xml

<LinearLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_height="match_parent"
    Android:layout_width="match_parent"
    Android:orientation="vertical">

    <Android.support.v7.widget.RecyclerView
        Android:id="@+id/recyclerView"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"/>
</LinearLayout>

//MainActivity.onCreate
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        ItemData itemsData[] = { new ItemData("Help",R.drawable.visa),
                new ItemData("Delete",R.drawable.sample),
                new ItemData("Cloud",R.drawable.sample),
                new ItemData("Favorite",R.drawable.sample),
                new ItemData("Like",R.drawable.sample),
                new ItemData("Rating",R.drawable.sample)};

        // 2. set layoutManger
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        // 3. create an adapter
        MyAdapter mAdapter = new MyAdapter(itemsData);
        // 4. set adapter
        recyclerView.setAdapter(mAdapter);
        // 5. set item animator to DefaultAnimator
        //recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setHasFixedSize(true);
    }

//build.gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 20
    buildToolsVersion '19.1.0'

    defaultConfig {
        applicationId "com.domain.project"
        minSdkVersion 19
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.Android.support:support-v4:+'
    compile 'com.Android.support:support-v13:+'
    compile project(':facebook-3.15')
    compile project(':parse-1.5.1')
    compile project(':viewpagerindicator-2.4.1')
    compile 'com.github.manuelpeinado.fadingactionbar:fadingactionbar:3.1.2'
    compile 'com.Android.support:cardview-v7:+'
    compile 'com.Android.support:recyclerview-v7:+'
    compile 'com.google.Android.gms:play-services:+'
}

configurations {
    // to avoid double inclusion of support libraries
    all*.exclude group: 'com.Android.support', module: 'support-v4'
}

// LOGCAT

08-24 17:49:27.626  27544-27544/com.domain.project E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.domain.project, PID: 27544
    Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.domain.project/com.domain.project.MainActivity}: Android.view.InflateException: Binary XML file line #7: Error inflating class Android.support.v7.widget.RecyclerView
            at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2215)
            at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2264)
            at Android.app.ActivityThread.access$800(ActivityThread.Java:144)
            at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1205)
            at Android.os.Handler.dispatchMessage(Handler.Java:102)
            at Android.os.Looper.loop(Looper.Java:136)
            at Android.app.ActivityThread.main(ActivityThread.Java:5139)
            at Java.lang.reflect.Method.invokeNative(Native Method)
            at Java.lang.reflect.Method.invoke(Method.Java:515)
            at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:796)
            at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:612)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: Android.view.InflateException: Binary XML file line #7: Error inflating class Android.support.v7.widget.RecyclerView
            at Android.view.LayoutInflater.createView(LayoutInflater.Java:620)
            at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:696)
            at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:755)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:492)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:397)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:353)
            at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:343)
            at Android.app.Activity.setContentView(Activity.Java:1929)
            at com.domain.project.MainActivity.onCreate(MainActivity.Java:35)
            at Android.app.Activity.performCreate(Activity.Java:5231)
            at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1087)
            at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2169)
            at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2264)
            at Android.app.ActivityThread.access$800(ActivityThread.Java:144)
            at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1205)
            at Android.os.Handler.dispatchMessage(Handler.Java:102)
            at Android.os.Looper.loop(Looper.Java:136)
            at Android.app.ActivityThread.main(ActivityThread.Java:5139)
            at Java.lang.reflect.Method.invokeNative(Native Method)
            at Java.lang.reflect.Method.invoke(Method.Java:515)
            at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:796)
            at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:612)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: Java.lang.reflect.InvocationTargetException
            at Java.lang.reflect.Constructor.constructNative(Native Method)
            at Java.lang.reflect.Constructor.newInstance(Constructor.Java:423)
            at Android.view.LayoutInflater.createView(LayoutInflater.Java:594)
            at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:696)
            at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:755)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:492)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:397)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:353)
            at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:343)
            at Android.app.Activity.setContentView(Activity.Java:1929)
            at com.domain.project.MainActivity.onCreate(MainActivity.Java:35)
            at Android.app.Activity.performCreate(Activity.Java:5231)
            at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1087)
            at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2169)
            at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2264)
            at Android.app.ActivityThread.access$800(ActivityThread.Java:144)
            at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1205)
            at Android.os.Handler.dispatchMessage(Handler.Java:102)
            at Android.os.Looper.loop(Looper.Java:136)
            at Android.app.ActivityThread.main(ActivityThread.Java:5139)
            at Java.lang.reflect.Method.invokeNative(Native Method)
            at Java.lang.reflect.Method.invoke(Method.Java:515)
            at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:796)
            at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:612)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: Java.lang.NoClassDefFoundError: Android.support.v4.util.Pools$SimplePool
            at Android.support.v7.widget.RecyclerView.<init>(RecyclerView.Java:121)
            at Android.support.v7.widget.RecyclerView.<init>(RecyclerView.Java:213)
            at Java.lang.reflect.Constructor.constructNative(Native Method)
            at Java.lang.reflect.Constructor.newInstance(Constructor.Java:423)
            at Android.view.LayoutInflater.createView(LayoutInflater.Java:594)
            at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:696)
            at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:755)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:492)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:397)
            at Android.view.LayoutInflater.inflate(LayoutInflater.Java:353)
            at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:343)
            at Android.app.Activity.setContentView(Activity.Java:1929)
            at com.domain.project.MainActivity.onCreate(MainActivity.Java:35)
            at Android.app.Activity.performCreate(Activity.Java:5231)
            at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1087)
            at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2169)
            at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2264)
            at Android.app.ActivityThread.access$800(ActivityThread.Java:144)
            at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1205)
            at Android.os.Handler.dispatchMessage(Handler.Java:102)
            at Android.os.Looper.loop(Looper.Java:136)
            at Android.app.ActivityThread.main(ActivityThread.Java:5139)
            at Java.lang.reflect.Method.invokeNative(Native Method)
            at Java.lang.reflect.Method.invoke(Method.Java:515)
            at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:796)
            at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:612)
            at dalvik.system.NativeStart.main(Native Method)
15
nomongo

Veuillez vérifier que vos bibliothèques de support sont mises à jour au plus tard.

com.Android.support:support-v4: et com.Android.support:recyclerview-v7

9
sreekumar

Il suffit d’ajouter ce qui suit dans votre proguard-rules.pro,

-keep public class Android.support.v7.widget.** { *; }
2
Melbourne Lopes

Mon problème était que la bibliothèque a été compilée en utilisant JDK1.6 au lieu de 1.7.

Trouvé la solution ici link

2
guy_m

Ajouter des dépendances dans le fichier Gradle.

dependencies{
    compile 'com.Android.support:appcompat-v7:23.3.0'
    compile 'com.Android.support:recyclerview-v7:23.3.0'
}
2
Raj Karekar

Je l'ai compris. La suppression de la configuration suivante dans build.gradle permet à recyclerview de fonctionner. Cela me conduit à une autre question: Android studio: gradle dependency error

-

configurations {
    // to avoid double inclusion of support libraries
    all*.exclude group: 'com.Android.support', module: 'support-v4'
}
1
nomongo

Découvrez ma réponse ici Erreur lors du gonflage de la classe RecyclerView . En résumé, vous devez importer les dépendances Recyclerview et appcompat et les synchroniser avant d'essayer d'ajouter RecyclerView à votre fichier XML.

0
Ivan V

--- Cité sur le site Android.

Les dépendances

Pour utiliser ces fonctionnalités dans des versions d'Android antérieures à la version 5.0 (API de niveau 21), incluez la bibliothèque de support Android v7 dans votre projet en tant que dépendance Gradle:

dependencies {
    compile 'com.Android.support:appcompat-v7:21.0.+'
    compile 'com.Android.support:cardview-v7:21.0.+'
    compile 'com.Android.support:recyclerview-v7:21.0.+'
}
0
Zephyr

Assurez-vous que vous avez ajouté les dépendances appropriées pour recyclerView ..__, puis vérifiez si vous avez une dépendance pour cardView.

Si oui, alors 

  • supprimer la dépendance de la vue de la carte

  • projet de synchronisation

  • puis à nouveau ajouter une dépendance de vue de carte

  • projet propre

  • projet de reconstruction

Ça a fonctionné pour moi

0
user10064725

Pour que cela fonctionne sous Eclipse dans mon cas, j’ai ajouté RecyclerView en tant que bibliothèque dans l’espace de travail. Et ensuite ajouté à mon projet sous Android LIBRARY. Finalement. Trois heures perdues.

0

Après avoir tout essayé sur Internet, j'ai résolu recyclerview une erreur grossissante en observant une petite erreur ..__ D'abord, Avez-vous vérifié votre bibliothèque Android-support-v7-recyclerview.jar présente dans le dossier libs? si c'est le cas, vérifiez si votre fichier de manifeste contenant la version de sdk cible sur 21

<uses-sdk
        Android:minSdkVersion="11" //or whatever you need
        Android:targetSdkVersion="21" />

peut être cela peut aider pour quelqu'un à l'avenir et ne pas perdre des jours derrière, comme je l'ai fait.

0
WonderSoftwares

J'ai eu le même message d'erreur et j'ai essayé plusieurs des étapes suggérées à partir des réponses fournies sur ce site. 

Java.lang.RuntimeException: impossible de démarrer l'activité ComponentInfo {com.abc.def/com.abc.def.MainActivity}: Android.view.InflateException: ligne de fichier XML binaire # 8: 

Finalement, j'ai réalisé que pour certaines raisons, la balise dans ma mise en page était:

Android.support.v7.internal.widget.RecyclerView 

au lieu de 

Android.support.v7.widget.RecyclerView. 

Je ne sais pas trop comment "interne" s'est glissé entre la v7 et le widget, mais une fois que j'ai supprimé cela, l'erreur a disparu. Ne dites pas que d'autres personnes commettront la même erreur, mais simplement pour faire savoir aux gens qu'une faute de frappe quelque part dans votre mise en page xml pourrait être la cause de ce message d'erreur.

0
a-hegde