簡體   English   中英

錯誤:在 androidX 中充氣 class com.google.android.material.navigation.NavigationView

[英]Error: inflating class com.google.android.material.navigation.NavigationView in androidX

我的應用程序在 API 26 級或更高級別上工作,但在 API 26 級以下停止工作。請幫助我..

為什么 XML 在充氣 class 時返回錯誤,並在較低的 API 級別停止工作?

我嘗試了這些方法,但沒有奏效:

Check your code for drawable and color resources used inside the com.google.android.material.navigation.NavigationView you've used, probably in activity_main.xml, if you're using the default Navigation Drawer template code from Android Studio. 檢查可繪制文件是否在 res/drawable 文件夾中,而不是在 res/drawable-v21 中。 檢查您是否在 NavigationView 中使用了 android:backgroundTint() 或 android:src 或類似的東西。 由於它們在 android API 級別 21 下無法工作,因此請改用 app:backgroundTint 或 app:srcCompat。

...

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.bozorgan/com.example.bozorgan.MainActivity}: android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class com.google.android.material.navigation.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:223) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:7223) 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 #14: Binary XML file line #14: Error inflating class com.google.android.material.navigation.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 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:696) at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170) at com.example.bozorgan.MainActivity.onCreate(MainActivity.java:63) at android.app.Activity.performCreate(Activity.java:6877) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)  at android.app.ActivityThread.access$1100(ActivityThread.java:223)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:7223)  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 #14: Error inflating class com.google.android.material.navigation.NavigationView
 <?xml version="1.0" encoding="utf-8"?> <androidx.drawerlayout.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:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" android:id="@+id/navigation_drawer"> <include layout="@layout/activity_main"/> <com.google.android.material.navigation.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:id="@+id/navigation_view" android:layoutDirection="rtl" app:headerLayout="@layout/navigation_header" android:layout_gravity="end" app:menu="@menu/menu" /> </androidx.drawerlayout.widget.DrawerLayout>

請務必將 Drawerlayout 庫添加到 build.gradle(:app) 文件中,以便您可以使用 Drawerlayout。 如果沒有,打開 build.gradle(:app) 文件並添加: implementation "androidx.drawerlayout:drawerlayout:1.1.1"

在 AndroidX NavigationView 中需要這些依賴項,還可以在此處查看文檔以獲取更多信息

  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:2.3.2"
  implementation "androidx.navigation:navigation-ui:2.3.2"

  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:2.3.2"
  implementation "androidx.navigation:navigation-ui-ktx:2.3.2"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM