Android 抽屉布局在充气时崩溃

Android 抽屉布局在充气时崩溃,android,navigation-drawer,drawerlayout,Android,Navigation Drawer,Drawerlayout,//XML如下所示,这是我在抽屉布局中得到充气异常的XML。我也迁移了androidx,但仍然得到一个错误 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.iotegral.iotvision/com.iotegral.iotvision.activity.DashBoardActivity}: android.view.InflateException: Binary XML file line #

//XML如下所示,这是我在抽屉布局中得到充气异常的XML。我也迁移了androidx,但仍然得到一个错误

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.iotegral.iotvision/com.iotegral.iotvision.activity.DashBoardActivity}: android.view.InflateException: Binary XML file line #12 in com.iotegral.iotvision:layout/activity_base: Binary XML file line #12 in com.iotegral.iotvision:layout/activity_base: Error inflating class androidx.drawerlayout.widget.DrawerLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3534)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3689)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2239)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:227)
        at android.app.ActivityThread.main(ActivityThread.java:7822)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)
     Caused by: android.view.InflateException: Binary XML file line #12 in com.iotegral.iotvision:layout/activity_base: Binary XML file line #12 in com.iotegral.iotvision:layout/activity_base: Error inflating class androidx.drawerlayout.widget.DrawerLayout
     Caused by: android.view.InflateException: Binary XML file line #12 in com.iotegral.iotvision:layout/activity_base: Error inflating class androidx.drawerlayout.widget.DrawerLayout
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Field.get(java.lang.Object)' on a null object reference
        at uk.co.chrisjenx.calligraphy.ReflectionUtils.getValue(ReflectionUtils.java:29)
        at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:203)
        at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20)
        at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302)
        at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:239)
        at android.view.LayoutInflater.tryCreateView(LayoutInflater.java:1086)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:999)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:963)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:1142)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1103)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
        at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
        at com.iotegral.iotvision.BaseActivity.onCreate(BaseActivity.kt:80)
        at com.iotegral.iotvision.activity.DashBoardActivity.onCreate(DashBoardActivity.kt:69)
        at android.app.Activity.performCreate(Activity.java:7963)
        at android.app.Activity.performCreate(Activity.java:7952)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3505)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3689)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2239)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:227)

  



apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.iotegral.iotvision"
        minSdkVersion 16
        targetSdkVersion 30
        multiDexEnabled true
        versionCode 4
        buildConfigField 'String', 'BASE_URL', propBaseUrl
        versionName "1.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility = '1.8'
        targetCompatibility = '1.8'
    }
    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.core:core-ktx:1.3.2'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'androidx.navigation:navigation-fragment:2.3.2'
    implementation 'androidx.navigation:navigation-ui:2.3.2'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.2'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.2'
    implementation 'com.google.firebase:firebase-messaging:20.2.0'
    implementation 'com.android.support:multidex:1.0.3'
    testImplementation 'junit:junit:4.12'
    implementation 'joda-time:joda-time:2.9.9'
    implementation 'com.karumi:dexter:5.0.0'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.amitshekhar.android:jackson-android-networking:0.3.0'
    implementation 'com.amitshekhar.android:rx-android-networking:1.0.0'
    implementation 'com.intuit.sdp:sdp-android:1.0.6'
    implementation 'com.intuit.ssp:ssp-android:1.0.5'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.6'
    implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.1.1'
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1'
    implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
    implementation 'com.google.dagger:dagger:2.25.3'
    kapt 'com.google.dagger:dagger-compiler:2.25.3'
    implementation 'com.jakewharton:butterknife:10.2.0'
    kapt 'com.jakewharton:butterknife-compiler:10.2.0'
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    implementation 'de.hdodenhof:circleimageview:3.0.0'
    kapt 'com.github.bumptech.glide:compiler:4.8.0'
    implementation project(':speedviewlib')
    implementation 'com.skyfishjy.ripplebackground:library:1.0.1'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.patrickpissurno:ripple-effect:1.3.1'
    implementation 'com.astuetz:pagerslidingtabstrip:1.0.1'
}


//我在对抽屉布局进行充气时出现此错误。我不确定这是否是由于印刷造成的。请帮助我。代码在28版上运行良好,但升级到29/30版时崩溃了

您的问题出在uk.co.chrisjenx.phraphic.ReflectionUtils.getValue(ReflectionUtils.java:29)。它使用反射来获得一个场。如果它在更新时中断,则很可能假设某个字段已不存在,并且它不应该依赖该字段。另请参阅:该库不再维护,您应该升级到版本3。您可以为其提供解决方案吗?解决方案:不要使用该库。升级到版本3。没有其他解决方案不会花费数天->数周的编码时间。谢谢。你救了我一天。替换:)花了5分钟。再次感谢。你的问题在uk.co.chrisjenx.phraphic.ReflectionUtils.getValue(ReflectionUtils.java:29)。它使用反射来获得一个场。如果它在更新时中断,则很可能假设某个字段已不存在,并且它不应该依赖该字段。另请参阅:该库不再维护,您应该升级到版本3。您可以为其提供解决方案吗?解决方案:不要使用该库。升级到版本3。没有其他解决方案不会花费数天->数周的编码时间。谢谢。您节省了我的时间。替换:)花费了5分钟。再次感谢。
<?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:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:layout_height="match_parent"
    >


    <androidx.drawerlayout.widget.DrawerLayout
     android:id="@+id/drawer_layout"
     android:layout_width="match_parent"
     android:layout_gravity="left|start"
     android:layout_height="match_parent">
    <include
        layout="@layout/app_bar_base"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="@dimen/_200sdp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        >
        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent">
            <include layout="@layout/custom_side_menu" />




        </RelativeLayout>
    </com.google.android.material.navigation.NavigationView>

    </androidx.drawerlayout.widget.DrawerLayout>

</RelativeLayout>