Android项目NavigationView加载InflateException报错求助
这个InflateException报错说无法加载android.support.design.widget.NavigationView,本质是系统找不到这个类的定义,我帮你梳理几个最常见的原因和对应的解决办法:
可能的原因及解决步骤
1. 未引入Design Support库依赖
如果你的项目还在使用旧的Android Support Library,必须在app/build.gradle的dependencies块里添加Design库的依赖:
implementation 'com.android.support:design:28.0.0'
⚠️ 注意:这个版本号要和你项目中其他Support库(比如appcompat-v7)的版本保持一致,比如你的appcompat用的是28.0.0,那Design库也得是同一个版本。
2. 项目已迁移到AndroidX,但代码仍使用旧Support库
现在大多数新项目都用AndroidX了,如果你的项目已经转成AndroidX,那旧的support.design类已经被替换成Material组件库的类:
- 修改Java代码导入:把MainActivity里的
替换成import android.support.design.widget.NavigationView;
同时,你代码里其他的Support库类也要一起换成AndroidX版本,比如:import com.google.android.material.navigation.NavigationView;android.support.v7.app.AppCompatActivity→androidx.appcompat.app.AppCompatActivityandroid.support.v4.app.Fragment→androidx.fragment.app.Fragmentandroid.support.v4.widget.DrawerLayout→androidx.drawerlayout.widget.DrawerLayout
- 修改XML布局:打开
activity_main.xml,把里面的<android.support.design.widget.NavigationView>标签换成<com.google.android.material.navigation.NavigationView <!-- 你的其他属性保持不变 --> /> - 添加Material组件依赖:在
app/build.gradle里添加:implementation 'com.google.android.material:material:1.11.0' // 用最新稳定版即可
3. 检查Gradle同步与缓存
做完上面的修改后,记得点击Android Studio右上角的「Sync Now」同步Gradle。如果还是报错,可以尝试清理缓存:
点击顶部菜单栏的「File」→「Invalidate Caches / Restart」,重启IDE后再重新编译项目。
额外排查点
确认你的compileSdkVersion配置:
- 如果用Support Library,
compileSdkVersion至少是28 - 如果用AndroidX,
compileSdkVersion建议设置为33或更高(对应最新的Android版本)
内容的提问来源于stack exchange,提问作者FBacha
相关产品推荐
相关产品推荐

