Android studio目标导航抽屉sdk版本

时间:2016-04-01 20:18:34

标签: java android android-layout android-studio navigation-drawer

我的问题是我的应用程序不适用于版本号小于23的设备。如果没有导航抽屉,我的应用程序包含一个导航抽屉它运行良好但是如果有,它说:

  

“不幸的是,TestApp停止了工作”

在android studio中我看到了:

     java.lang.RuntimeException: Unable to start activity ComponentInfo{gazete.alperennn.gazeteler/gazete.alperennn.gazeteler.MainActivity}: android.view.InflateException: Binary XML file line #15: Error inflating class android.support.design.widget.NavigationView
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
                                                   at android.app.ActivityThread.access$700(ActivityThread.java:134)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
                                                   at android.os.Handler.dispatchMessage(Handler.java:99)
                                                   at android.os.Looper.loop(Looper.java:137)
                                                   at android.app.ActivityThread.main(ActivityThread.java:4867)
                                                   at java.lang.reflect.Method.invokeNative(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:511)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
                                                   at dalvik.system.NativeStart.main(Native Method)
                                                Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class android.support.design.widget.NavigationView
                                                   at android.view.LayoutInflater.createView(LayoutInflater.java:613)
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                                                   at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276)
                                                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                   at gazete.alperennn.gazeteler.MainActivity.onCreate(MainActivity.java:214)
                                                   at android.app.Activity.performCreate(Activity.java:5047)
                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117) 
                                                   at android.app.ActivityThread.access$700(ActivityThread.java:134) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                   at android.os.Looper.loop(Looper.java:137) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:4867) 
                                                   at java.lang.reflect.Method.invokeNative(Native Method) 
                                                   at java.lang.reflect.Method.invoke(Method.java:511) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) 
                                                   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:417)
                                                   at android.view.LayoutInflater.createView(LayoutInflater.java:587)
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
                                                   at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) 
                                                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                   at gazete.alperennn.gazeteler.MainActivity.onCreate(MainActivity.java:214) 
                                                   at android.app.Activity.performCreate(Activity.java:5047) 
                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056) 
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117) 
                                                   at android.app.ActivityThread.access$700(ActivityThread.java:134) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                   at android.os.Looper.loop(Looper.java:137) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:4867) 
                                                   at java.lang.reflect.Method.invokeNative(Native Method) 
                                                   at java.lang.reflect.Method.invoke(Method.java:511) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) 
                                                   at dalvik.system.NativeStart.main(Native Method) 
                                                Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f02005e
                                                   at android.content.res.Resources.getValue(Resources.java:1026)
                                                   at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:285)
                                                   at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
                                                   at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
                                                   at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:421)
                                                   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:241)
                                                   at android.support.design.widget.NavigationView.<init>(NavigationView.java:169)
                                                   at android.support.design.widget.NavigationView.<init>(NavigationView.java:95)
                                                   at java.lang.reflect.Constructor.constructNative(Native Method) 
                                                   at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
                                                   at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
                                                   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
                                                   at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
                                                   at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
                                                   at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:276) 
                                                   at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                   at gazete.alperennn.gazeteler.MainActivity.onCreate(MainActivity.java:214) 
                                                   at android.app.Activity.performCreate(Activity.java:5047) 
                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056) 
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117) 
                                                   at android.app.ActivityThread.access$700(ActivityThread.java:134) 
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218) 
                                                   at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                   at android.os.Looper.loop(Looper.java:137) 
                                                   at android.app.ActivityThread.main(ActivityThread.java:4867) 
                                                   at java.lang.reflect.Method.invokeNative(Native Method) 
                                                   at java.lang.reflect.Method.invoke(Method.java:511) 
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007) 
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774) 
                                                   at dalvik.system.NativeStart.main(Native Method) 

我的gradle脚本:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "gazete.alperennn.gazeteler"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

    dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.2.1'
   compile 'com.android.support:design:23.2.1'
    }

我的第二个问题是:

我还希望我的应用程序在平板电脑上工作,我该如何实现?

感谢您的回答,请原谅我的英语。

这是naw_header_main:

<?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:background="@drawable/headers"
android:gravity="bottom"
android:orientation="vertical"
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">


<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="72dp"
    android:textSize="18dp"
    android:text="Tüm Gazeteler"
    android:textAppearance="@style/TextAppearance.AppCompat.Body1" />



     </LinearLayout>

这是activitiy_main

    <android.support.v4.widget.DrawerLayout                xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<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>

这是内容主要内容:

 <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.alperenn.slidermenu.MainActivity"
tools:showIn="@layout/app_bar_main">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!" />
 </RelativeLayout>

这个activity_main_drawer:

     <?xml version="1.0" encoding="utf-8"?>

<group android:checkableBehavior="single">
    <item android:title="Kategoriler">
        <menu>
            <item
                android:id="@+id/nav_tech"
                android:icon="@drawable/tec"
                android:title="Teknoloji" />
            <item
                android:id="@+id/nav_spor"
                android:icon="@drawable/spor"
                android:title="Spor" />
            <item
                android:id="@+id/nav_gundem"
                android:icon="@drawable/newss"
                android:title="Gundem" />
        </menu>
    </item>
</group>

2 个答案:

答案 0 :(得分:0)

检查xml代码中是否缺少任何资源,例如:strings.xml中的空字符串或错误的可绘制文件。

答案 1 :(得分:0)

在activity_main.xml中,您包含app_bar_main。

<include
    layout="@layout/app_bar_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

因此错误发生在app_bar_main.xml中,或者该文件甚至不存在。