You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:集成NavigationView至DrawerLayout时触发android.view.InflateException

Fixing android.view.InflateException for NavigationView

Hey there, let’s work through this frustrating inflate error with NavigationView—it’s one of the most common hiccups when setting up a drawer layout, so I’ve got you covered with the most likely fixes:

1. Double-Check Your Material Design Dependencies

First off, make sure you’re using the AndroidX Material Library (the old support library is deprecated now). Open your build.gradle (Module: app) file and verify you have this dependency added:

dependencies {
    // Use the latest version of the Material library (check for updates!)
    implementation 'com.google.android.material:material:1.11.0'
    // Your other dependencies go here...
}

After adding this, hit Sync Project with Gradle Files to ensure everything downloads correctly.

2. Fix the NavigationView Tag in Your Layout XML

Old support library tags will cause this error if you’re using AndroidX. Swap out the deprecated tag for the AndroidX version:

  • ❌ Wrong: <android.support.design.widget.NavigationView
  • ✅ Correct: <com.google.android.material.navigation.NavigationView

Also, make sure your layout has the app namespace declared at the root (usually on the DrawerLayout tag) so NavigationView can use attributes like app:menu or app:headerLayout:

<androidx.drawerlayout.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Your main content layout here -->

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/nav_drawer_menu"
        app:headerLayout="@layout/nav_drawer_header"/>
</androidx.drawerlayout.widget.DrawerLayout>

3. Verify Your Menu/Header Layouts Are Error-Free

If you’ve set app:menu or app:headerLayout, check those files for mistakes:

  • Does the menu file (@menu/nav_drawer_menu) exist? Are all icons/text references valid?
  • Is the header layout (@layout/nav_drawer_header) free of typos or invalid attributes (like using a non-existent drawable)?
    Even a tiny mistake in these files can trigger the inflate exception.

4. Use a Material-Compliant Theme

NavigationView requires a Material Design theme to work properly. Update your app’s theme in res/values/styles.xml to inherit from a Material Components theme:

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <!-- Customize your theme here (e.g., colorPrimary, colorAccent) -->
</style>

And make sure your Activity uses this theme in AndroidManifest.xml:

<activity
    android:name=".MainActivity"
    android:theme="@style/AppTheme">
    <!-- Intent filters, etc. -->
</activity>

5. Clean & Rebuild Your Project

Sometimes cached resources or build artifacts cause weird issues. Try these steps:

  • Go to Build > Clean Project
  • Then Build > Rebuild Project
  • If that doesn’t work, try File > Invalidate Caches... > Invalidate and Restart

If none of these fixes work, feel free to share your full layout XML, build.gradle code, or any additional Logcat details—I can help dig deeper!

内容的提问来源于stack exchange,提问作者SriDatta Yalla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:34:41