2016-07-27 4 views
1

그래서 나는 this fellow과 같은 문제가 있지만 아무도 그에게 답변하지 않았기 때문에이 문제를 파악할 수 있는지 좀 더 자세히 알려 드리고자합니다. 나는 잠시 동안 이것에 대한 해답을 찾고 있었고 효과가없는 것은 찾지 못했습니다.Inflate NavigationView가 Android 4.4 이하에서 예외를 발생시킵니다.

내 앱에서 NavigationView, TabLayout 및 Cards와 같은 Material Design 위젯을 구현하고 있습니다.

<android.support.v4.widget.DrawerLayout 
... 
    <android.support.design.widget.CoordinatorLayout 
     <android.support.design.widget.AppBarLayout 
      <android.support.v7.widget.Toolbar 
      .../> 
     </android.support.design.widget.AppBarLayout> 
    </android.support.design.widget.CoordinatorLayout> 
    <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" /> 
</android.support.v4.widget.DrawerLayout> 
: 나는 탐색보기를 사용하고 어디

minSdkVersion 16 
targetSdkVersion 24 

이것은 :

compile 'com.android.support:appcompat-v7:24.1.1' 
compile 'com.android.support:support-v4:24.1.1' 
compile 'com.android.support:design:24.1.1' 
compile 'com.android.support:cardview-v7:24.1.1' 

대상 및 분 SDK :이 내가 컴파일하고있어 지원 라이브러리 (그들에게 업데이트 된 오늘)입니다

로그 캣 :

E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.mariano.numberreflexgame, PID: 5006 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mariano.numberreflexgame/com.mariano.numberreflexgame.OpeningMenu}: android.view.InflateException: Binary XML file line #52: Error inflating class android.support.design.widget.NavigationView 
                      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 #52: Error inflating class android.support.design.widget.NavigationView 
                      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.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.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
                      at com.mariano.numberreflexgame.OpeningMenu.onCreate(OpeningMenu.java:109) 
                      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.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.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
                      at com.mariano.numberreflexgame.OpeningMenu.onCreate(OpeningMenu.java:109)  
                      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 ID #0x7f02009f 
                      at android.content.res.Resources.getValue(Resources.java:1123) 
                      at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:313) 
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188) 
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:181) 
                      at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:422) 
                      at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.prepareMenuItems(NavigationMenuPresenter.java:475) 
                      at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.update(NavigationMenuPresenter.java:436) 
                      at android.support.design.internal.NavigationMenuPresenter.updateMenuView(NavigationMenuPresenter.java:112) 
                      at android.support.design.widget.NavigationView.inflateMenu(NavigationView.java:246) 
                      at android.support.design.widget.NavigationView.<init>(NavigationView.java:170) 
                      at android.support.design.widget.NavigationView.<init>(NavigationView.java:96) 
                      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.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.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
                      at com.mariano.numberreflexgame.OpeningMenu.onCreate(OpeningMenu.java:109)  
                      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)  

내가 본 다른 답변에서이 문제의 활동이 적용되는 주제이다.

<style name="AppThemeActionBar" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

이 앱은 안드로이드 5.0에서 잘 작동하지만 난에서 테스트 한 안드로이드 4.4 장치의 100 %에 충돌

아이디어가 있으십니까?

감사합니다.

+0

리소스 ID 중 하나가 누락되었습니다. 로그 쇼에서 모든 항목을 점검하므로 Kitkat 또는 Lolipop과 관련이 없습니다. – Amir

답변

3

res/drawable-v21 폴더에 메뉴 아이콘이 있지만 res/drawable 폴더에 메뉴 아이콘이없는 것 같습니다.

업데이트 :

당신은 그것의 ID로 "문제"리소스를 찾을 수 있습니다 (# 0x7f02009f) 파일의 응용 프로그램/구축/생성/소스/R/디버그 (또는 릴리스)/당신/패키지 /id/R.java

+0

이것은 절대적으로 그것이었다. 감사! –

+0

평판이 아직 없으므로 업 그레 이드 할 수 없지만 굉장합니다. 감사! –

+0

@MarianoMolina 아무 문제 없어, 기꺼이 도와 드리겠습니다. –

관련 문제