9

Ich habe einige Probleme mit der DrawerLayout-Komponente. Ich bin mit dem Android-support-v4 Glas und wenn ich die app bin Start Ich habe diese Ausnahme:Android DrawerLayout-Komponente

05-19 01:33:57.402: E/AndroidRuntime(3120): FATAL EXCEPTION: main 
05-19 01:33:57.402: E/AndroidRuntime(3120): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dimosphere.app/com.dimosphere.app.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class android.support.v4.widget.DrawerLayout 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2357) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.ActivityThread.access$600(ActivityThread.java:153) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.os.Looper.loop(Looper.java:137) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.ActivityThread.main(ActivityThread.java:5226) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at dalvik.system.NativeStart.main(Native Method) 
05-19 01:33:57.402: E/AndroidRuntime(3120): Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class android.support.v4.widget.DrawerLayout 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:323) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.Activity.setContentView(Activity.java:1881) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at com.dimosphere.app.MainActivity.onCreate(MainActivity.java:12) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.Activity.performCreate(Activity.java:5104) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2261) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  ... 11 more 
05-19 01:33:57.402: E/AndroidRuntime(3120): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.widget.DrawerLayout" on path: /data/app/com.dimosphere.app-2.apk 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.view.LayoutInflater.createView(LayoutInflater.java:552) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
05-19 01:33:57.402: E/AndroidRuntime(3120):  ... 20 more 

Ich verstehe nicht, warum ich diese Ausnahme habe, eingeschlossen ich das Glas in Projekteigenschaften ...

Hier ist meine xML-Datei:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <!-- The main content view --> 
    <FrameLayout 
     android:id="@+id/content_frame" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <!-- The navigation drawer --> 
    <ListView android:id="@+id/left_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" 
     android:background="#111"/> 

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

Wenn Sie eine Vorstellung davon haben, wo ist das Problem, du bist willkommen ... Thanks :)

Antwort

10

hinzufügen android-suppo rt-v4 zu Ihrem Build-Pfad

+0

Es war nicht genau das, aber danke! :) –

+0

@ user1563059 Also, was genau war es? – cringe

+1

Ich bin mir ziemlich sicher, dass er eine veraltete Version der Support-Bibliothek verwendet hat. – Greeny

0

Ich hatte das gleiche Problem mit Android Studio. Ich hatte eine Reihe von Build-Abhängigkeiten, darunter die Support-v4-Bibliothek. Alles hat gut funktioniert, bis ich das DrawerLayout integriert habe - dort ist der obige Fehler aufgetreten.

Ich löste es durch einfaches Entfernen der support-v4-Bibliothek aus den Abhängigkeiten. Es wurde bereits von einer anderen Abhängigkeit (in meinem Fall das Facebook SDK) aufgenommen, und es scheint, dass dies den Ärger verursacht hat (vielleicht aufgrund verschiedener Versionen). Vielleicht hilft das jemand in einer ähnlichen Position :)