Bonjour, j'utilise NavigationView mais je reçois une erreur. Voici mon xml, j'ai déjà inclus le support Android et la bibliothèque v7.
project.properties comme je n'utilise pas le studio Android
target=Android-22
Android.library.reference.1=../Android-support-v7-appcompat
Android.library.reference.2=../design
<Android.support.v4.widget.DrawerLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/drawer_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
tools:context="com.toxic.apps.Kodi" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical" >
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@color/primary"
Android:minHeight="?attr/actionBarSize" />
<FrameLayout
Android:id="@+id/container"
Android:layout_width="match_parent"
Android:layout_height="match_parent" />
</LinearLayout>
<Android.support.design.widget.NavigationView
Android:id="@+id/navigation"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:itemTextColor="@color/primary"
app:menu="@menu/drawer" />
</Android.support.v4.widget.DrawerLayout>
et ci-dessous est mon stacktrace
06-21 06:24:12.799: E/AndroidRuntime(4913): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.toxic.apps.Kodi/com.toxic.apps.Kodi.Activities.MainActivity}: Android.view.InflateException: Binary XML file line #30: Error inflating class Android.support.design.widget.NavigationView
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2298)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2360)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.ActivityThread.access$800(ActivityThread.Java:144)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1278)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.os.Handler.dispatchMessage(Handler.Java:102)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.os.Looper.loop(Looper.Java:135)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.ActivityThread.main(ActivityThread.Java:5221)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.reflect.Method.invoke(Native Method)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.reflect.Method.invoke(Method.Java:372)
06-21 06:24:12.799: E/AndroidRuntime(4913): at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:899)
06-21 06:24:12.799: E/AndroidRuntime(4913): at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:694)
06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: Android.view.InflateException: Binary XML file line #30: Error inflating class Android.support.design.widget.NavigationView
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.createView(LayoutInflater.Java:633)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:743)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:806)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.inflate(LayoutInflater.Java:504)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.Java:249)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:106)
06-21 06:24:12.799: E/AndroidRuntime(4913): at com.toxic.apps.Kodi.Activities.AbstractBaseActivity.setContentView(AbstractBaseActivity.Java:33)
06-21 06:24:12.799: E/AndroidRuntime(4913): at com.toxic.apps.Kodi.Activities.MainActivity.onCreate(MainActivity.Java:35)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.Activity.performCreate(Activity.Java:5933)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1105)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2251)
06-21 06:24:12.799: E/AndroidRuntime(4913): ... 10 more
06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: Java.lang.reflect.InvocationTargetException
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.reflect.Constructor.newInstance(Native Method)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.reflect.Constructor.newInstance(Constructor.Java:288)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.view.LayoutInflater.createView(LayoutInflater.Java:607)
06-21 06:24:12.799: E/AndroidRuntime(4913): ... 22 more
06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: Java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/design/R$styleable;
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.support.design.internal.ScrimInsetsFrameLayout.<init>(ScrimInsetsFrameLayout.Java:54)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.support.design.widget.NavigationView.<init>(NavigationView.Java:92)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Android.support.design.widget.NavigationView.<init>(NavigationView.Java:88)
06-21 06:24:12.799: E/AndroidRuntime(4913): ... 25 more
06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: Java.lang.ClassNotFoundException: Didn't find class "Android.support.design.R$styleable" on path: DexPathList[[Zip file "/data/app/com.toxic.apps.Kodi-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
06-21 06:24:12.799: E/AndroidRuntime(4913): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.ClassLoader.loadClass(ClassLoader.Java:511)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.ClassLoader.loadClass(ClassLoader.Java:469)
06-21 06:24:12.799: E/AndroidRuntime(4913): ... 28 more
06-21 06:24:12.799: E/AndroidRuntime(4913): Suppressed: Java.lang.ClassNotFoundException: Android.support.design.R$styleable
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.Class.classForName(Native Method)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.BootClassLoader.findClass(ClassLoader.Java:781)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.BootClassLoader.loadClass(ClassLoader.Java:841)
06-21 06:24:12.799: E/AndroidRuntime(4913): at Java.lang.ClassLoader.loadClass(ClassLoader.Java:504)
06-21 06:24:12.799: E/AndroidRuntime(4913): ... 29 more
06-21 06:24:12.799: E/AndroidRuntime(4913): Caused by: Java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Ok enfin j'ai résolu le problème en utilisant la suggestion de Denis Loh. La solution pour résoudre ce problème consiste à vérifier le fichier R de toutes les bibliothèques incluses. Lorsque cet incident se produit, design library
R n'est pas généré et donc n'apparaît pas dans le dossier gen
de votre projet.
Mais Eclipse ne vous montrera pas le problème pourquoi il n’est pas généré (Dieu sait comment Eclipse fonctionne)
Donc, afin de générer le fichier R du dossier de conception
Dans project.properties of design library, définissez cible sur 21 ou le plus disponible
Clean v7, concevez et exécutez votre projet
Vous pouvez importer androidSupportDesign à partir de\sdk\extras\Android\support\design et cochez "isLibrary", puis importez appcombat_v7 (lib) vers androidSupportDesign. Final, vous importez dans votre projet et nettoyez-le tous! J'espère que ça peut aider
Tous les projets construits avec api> 21
vous!
Pour résoudre ce problème, exécutez d'abord «./gradlew clean», puis essayez de compiler le code avec «./gradlew installDebug».
Je suppose que le problème est dû au fait que l'ancien fichier R reste toujours le même et que le compilateur ne trouve pas la ressource liée à CoordinatorLayout dans l'ancien fichier R.
Puisse ceci aider.