2017-02-28 74 views
0

當我在activity_main.xml中添加以下代碼:Java的Android的崩潰時添加android.support.design.widget.NavigationView

<android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 

我的應用程序崩潰。爲構建gradle這個,我的依賴增加了一個:

compile 'com.android.support:appcompat-v7:23.0.1' 
compile 'com.android.support:design:23.0.1' 

當我刪除android.support.design.widget.NavigationView它正在 這是一個日誌:

Process: com.smok.maps, PID: 16311 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.smok.maps/com.smok.maps.MainActivity}: android.view.InflateException: Binary XML file line #431: Binary XML file line #431: Error inflating class android.support.design.widget.NavigationView 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349) 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:158) 
    at android.app.ActivityThread.main(ActivityThread.java:7224) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
Caused by: android.view.InflateException: Binary XML file line #431: Binary XML file line #431: Error inflating class android.support.design.widget.NavigationView 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:551) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:380) 
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474) 
    at android.app.Activity.setContentView(Activity.java:2387) 
    at com.smok.maps.MainActivity.onCreate(MainActivity.java:285) 
    at android.app.Activity.performCreate(Activity.java:6876) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)? 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221)? 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)? 
    at android.os.Handler.dispatchMessage(Handler.java:102)? 
    at android.os.Looper.loop(Looper.java:158)? 
    at android.app.ActivityThread.main(ActivityThread.java:7224)? 
    at java.lang.reflect.Method.invoke(Native Method)? 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)? 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)? 
Caused by: android.view.InflateException: Binary XML file line #431: Error inflating class android.support.design.widget.NavigationView 
    at android.view.LayoutInflater.createView(LayoutInflater.java:657) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:847) 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:527) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:380)? 
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)? 
    at android.app.Activity.setContentView(Activity.java:2387)? 
    at com.smok.maps.MainActivity.onCreate(MainActivity.java:285)? 
    at android.app.Activity.performCreate(Activity.java:6876)? 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)? 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)? 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)? 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221)? 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)? 
    at android.os.Handler.dispatchMessage(Handler.java:102)? 
    at android.os.Looper.loop(Looper.java:158)? 
    at android.app.ActivityThread.main(ActivityThread.java:7224)? 
    at java.lang.reflect.Method.invoke(Native Method)? 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)? 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)? 
Caused by: java.lang.reflect.InvocationTargetException 
    at java.lang.reflect.Constructor.newInstance(Native Method) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:631) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)? 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)? 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:527)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:380)? 
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)? 
    at android.app.Activity.setContentView(Activity.java:2387)? 
    at com.smok.maps.MainActivity.onCreate(MainActivity.java:285)? 
    at android.app.Activity.performCreate(Activity.java:6876)? 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)? 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)? 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)? 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221)? 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)? 
    at android.os.Handler.dispatchMessage(Handler.java:102)? 
    at android.os.Looper.loop(Looper.java:158)? 
    at android.app.ActivityThread.main(ActivityThread.java:7224)? 
    at java.lang.reflect.Method.invoke(Native Method)? 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)? 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)? 
Caused by: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class android.support.design.internal.NavigationMenuView 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:551) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429) 
    at android.support.design.internal.NavigationMenuPresenter.getMenuView(NavigationMenuPresenter.java:98) 
    at android.support.design.widget.NavigationView.<init>(NavigationView.java:161) 
    at android.support.design.widget.NavigationView.<init>(NavigationView.java:92) 
    at java.lang.reflect.Constructor.newInstance(Native Method)? 
    at android.view.LayoutInflater.createView(LayoutInflater.java:631)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)? 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)? 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:527)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:380)? 
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)? 
    at android.app.Activity.setContentView(Activity.java:2387)? 
    at com.smok.maps.MainActivity.onCreate(MainActivity.java:285)? 
    at android.app.Activity.performCreate(Activity.java:6876)? 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)? 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)? 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)? 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221)? 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)? 
    at android.os.Handler.dispatchMessage(Handler.java:102)? 
    at android.os.Looper.loop(Looper.java:158)? 
    at android.app.ActivityThread.main(ActivityThread.java:7224)? 
    at java.lang.reflect.Method.invoke(Native Method)? 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)? 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)? 
Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.internal.NavigationMenuView 
    at android.view.LayoutInflater.createView(LayoutInflater.java:657) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.support.design.internal.NavigationMenuPresenter.getMenuView(NavigationMenuPresenter.java:98)? 
    at android.support.design.widget.NavigationView.<init>(NavigationView.java:161)? 
    at android.support.design.widget.NavigationView.<init>(NavigationView.java:92)? 
    at java.lang.reflect.Constructor.newInstance(Native Method)? 
    at android.view.LayoutInflater.createView(LayoutInflater.java:631)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)? 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)? 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:527)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:380)? 
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)? 
    at android.app.Activity.setContentView(Activity.java:2387)? 
    at com.smok.maps.MainActivity.onCreate(MainActivity.java:285)? 
    at android.app.Activity.performCreate(Activity.java:6876)? 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)? 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)? 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)? 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221)? 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)? 
    at android.os.Handler.dispatchMessage(Handler.java:102)? 
    at android.os.Looper.loop(Looper.java:158)? 
    at android.app.ActivityThread.main(ActivityThread.java:7224)? 
    at java.lang.reflect.Method.invoke(Native Method)? 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)? 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)? 
Caused by: java.lang.reflect.InvocationTargetException 
    at java.lang.reflect.Constructor.newInstance(Native Method) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:631) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.support.design.internal.NavigationMenuPresenter.getMenuView(NavigationMenuPresenter.java:98)? 
    at android.support.design.widget.NavigationView.<init>(NavigationView.java:161)? 
    at android.support.design.widget.NavigationView.<init>(NavigationView.java:92)? 
    at java.lang.reflect.Constructor.newInstance(Native Method)? 
    at android.view.LayoutInflater.createView(LayoutInflater.java:631)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)? 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)? 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)? 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:527)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:429)? 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:380)? 
    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:474)? 
    at android.app.Activity.setContentView(Activity.java:2387)? 
    at com.smok.maps.MainActivity.onCreate(MainActivity.java:285)? 
    at android.app.Activity.performCreate(Activity.java:6876)? 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)? 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)? 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)? 
    at android.app.ActivityThread.access$1100(ActivityThread.java:221)? 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)? 
    at android.os.Handler.dispatchMessage(Handler.java:102)? 
    at android.os.Looper.loop(Looper.java:158)? 
    at android.app.ActivityThread.main(ActivityThread.java:7224)? 
    at java.lang.reflect.Method.invoke(Native Method)? 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)? 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)? 
Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 0: TypedValue{t=0x2/d=0x7f0100b8 a=-1} 
    at android.content.res.TypedArray.getDrawable(TypedArray.java:883) 
    at android.widget.AbsListView.<init>(AbsListView.java:1168) 
    at android.widget.ListView.<init>(ListView.java: 

nav_header:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark" android:orientation="vertical" 
    android:gravity="bottom"> 

    <ImageView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingTop="@dimen/nav_header_vertical_spacing" 
     android:id="@+id/imageView" /> 

    <TextView android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="@dimen/nav_header_vertical_spacing" 
     android:text="Andy Point" 
     android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> 

    <TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="[email protected]" 
     android:id="@+id/textView" /> 

</LinearLayout> 
+0

http://stackoverflow.com/questions/30709419/error-inflating-class-android-support-design-widget -navigationview –

+1

@IntelliJAmiya我做到了這一點,但它並沒有幫助 –

+0

分享'nav_header_main' –

回答

0

根據你的錯誤,它非常清楚,它沒有導致導航菜單膨脹。請提供@menu/activity_main_drawer文件。並重新檢查它的外部Stringsdrawablesclosed tags

那麼,你應該使用的

<menu xmlns:android="http://schemas.android.com/apk/res/android">

代替

<menu xmlns:android="schemas.android.com/apk/res/android">

,並刪除之後;

+0

<?xml version =「1.0」encoding =「utf-8」?>

<項機器人:ID = 「@ + ID/nav_about」 機器人:圖標= 「@機器人:可拉伸/ ic_menu_info_details」 機器人:標題= 「關於」/>

+0

這是activity_main_drawer –

+0

看到這個

;你已經終止了它?嘗試刪除';' –

0

這是行號431的layout_gravity問題,請嘗試使用layout_gravity = left

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="left" 
    android:fitsSystemWindows="true" /> 
+0

它仍然沒有工作,這是沒有問題的... –

+0

現在我得到這個:

+0

做玉有有任何想法嗎 ?我做錯了什麼? –