2017-05-11 8 views
0

Ich habe eine benutzerdefinierte Symbolleiste in meiner App und es scheint zu stürzen, wenn auf einem Kitkat-Gerät ausgeführt wird.Symbolleiste Absturz auf Kitkat

Der Fehler, den ich bekommen ist:

android.view.InflateException: Binary XML-Datei Zeile # 9: Fehler aufblasen Klasse android.support.v7.widget.Toolbar

Es abstürzt, wenn es lädt die mainActivity.

Meine Symbolleiste xml ist:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/toolbar_background" 
     android:textAlignment="center" 
     android:theme="@style/ToolBarStyle" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 

Ich sah mich um, und die einzigen Lösungen der Festsetzung dieses Problem war wegen ?attr Tags, die ich nicht habe.

Das vollständige Fehlerprotokoll zeigt:

05-11 18:26:26.426 8832-8832/com.company.company E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.company.company, PID: 8832 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.company.company/com.company.company.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.Toolbar 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
     at android.app.ActivityThread.access$800(ActivityThread.java:135) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5017) 
     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:779) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
     at dalvik.system.NativeStart.main(Native Method) 
    Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class android.support.v7.widget.Toolbar 
     at android.view.LayoutInflater.createView(LayoutInflater.java:621) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:756) 
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
     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 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
     at com.company.company.MainActivity.onCreate(MainActivity.java:38) 
     at android.app.Activity.performCreate(Activity.java:5231) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)  
     at android.app.ActivityThread.access$800(ActivityThread.java:135)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)  
     at android.os.Handler.dispatchMessage(Handler.java:102)  
     at android.os.Looper.loop(Looper.java:136)  
     at android.app.ActivityThread.main(ActivityThread.java:5017)  
     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:779)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)  
     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:595) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)  
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
     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 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)  
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
     at com.company.company.MainActivity.onCreate(MainActivity.java:38)  
     at android.app.Activity.performCreate(Activity.java:5231)  
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)  
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)  
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)  
     at android.app.ActivityThread.access$800(ActivityThread.java:135)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)  
     at android.os.Handler.dispatchMessage(Handler.java:102)  
     at android.os.Looper.loop(Looper.java:136)  
     at android.app.ActivityThread.main(ActivityThread.java:5017)  
     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:779)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)  
     at dalvik.system.NativeStart.main(Native Method)  
    Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f020083 a=-1 r=0x7f020083} 
     at android.content.res.Resources.loadDrawable(Resources.java:2073) 
     at android.content.res.TypedArray.getDrawable(TypedArray.java:602) 
     at android.view.View.<init>(View.java:3554) 
     at android.view.ViewGroup.<init>(ViewGroup.java:470) 
     at android.support.v7.widget.Toolbar.<init>(Toolbar.java:235) 
     at android.support.v7.widget.Toolbar.<init>(Toolbar.java:231) 
     at java.lang.reflect.Constructor.constructNative(Native Method)  
     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)  
     at android.view.LayoutInflater.createView(LayoutInflater.java:595)  
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:756)  
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
     at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840)  
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
     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 android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)  
     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
     at com.company.company.MainActivity.onCreate(MainActivity.java:38)  
     at android.app.Activity.performCreate(Activity.java:5231)  
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)  
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)  
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)  
     at android.app.ActivityThread.access$800(ActivityThread.java:135)  
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)  
     at android.os.Handler.dispatchMessage(Handler.java:102)  
     at android.os.Looper.loop(Looper.java:136)  
     at android.app.ActivityThread.main(ActivityThread.java:5017)  
     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:779)  
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)  
     at dalvik.system.NativeStart.main(Native Method) 

die bei stürzt:

setContentView(R.layout.activity_main); 

Jede Hilfe sehr geschätzt wird.

Edit:

ich die Toolbar Problem behoben, in meinem coordinatorLayout war ich meiner Symbolleiste einfach mit. Jetzt ist es in ihrem Ich bekomme diesen Fehler nicht mehr.

Aber ich bekomme einen neuen Fehler,

android.view.InflateException: Binary XML-Datei Zeile # 16: Fehler aufblähenden Klasse android.support.design.widget.NavigationView

+0

@AlexKamenkov es AppCompatActivity erstreckt, ist – Derek

+0

@AlexKamenkov hinzugefügt haben Kompilierung 'com.android.support:appcompat-v7:21.+' Abhängigkeit in gradle und supportLibrary = true in DefaultConfig – Anksss

Antwort

0

AppBarLayout ist hängt stark davon ab, dass es als direktes Kind in einem CoordinatorLayout verwendet wird. Wenn Sie AppBarLayout in einer anderen ViewGroup verwenden, funktionieren die meisten Funktionen nicht.

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <!-- Your scrolling content --> 

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

<android.support.design.widget.AppBarLayout 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent"> 

    <android.support.v7.widget.Toolbar 
      ... 
      app:layout_scrollFlags="scroll|enterAlways"/> 

    <android.support.design.widget.TabLayout 
      ... 
      app:layout_scrollFlags="scroll|enterAlways"/> 

</android.support.design.widget.AppBarLayout> 

</android.support.design.widget.CoordinatorLayout> 
+0

Technisch es bereits in a coordinatorLayout, ich habe eine XML-Datei, die die Symbolleiste enthält und dann einen Fragmentcontainer enthält – Derek

+0

Ich edited meine Frage – Derek

Verwandte Themen