RecyclerView对接Firebase时无法解析R.id.recycler_menu问题求助
老兄,遇到这个R文件相关的报错别慌,咱一步步排查解决:
1. 先确认布局文件里的RecyclerView存在且id正确
首先打开你的activity_home.xml布局文件,检查有没有添加id为recycler_menu的RecyclerView控件,代码应该长这样:
<android.support.v7.widget.RecyclerView android:id="@+id/recycler_menu" android:layout_width="match_parent" android:layout_height="match_parent"/>
- 如果没有这个控件,赶紧加上;如果有,仔细核对id的拼写(大小写、下划线都要和代码里的
R.id.recycler_menu完全一致)
2. 清理+重建项目,解决R文件生成异常
Android Studio有时候会抽风,R文件没生成或者生成不全,这时候执行以下操作:
- 点击顶部菜单栏的
Build->Clean Project - 等清理完成后,再点击
Build->Rebuild Project
这一步能解决绝大多数R文件符号解析的问题
3. 检查依赖与SDK版本是否匹配
你用的RecyclerView依赖是implementation 'com.android.support:recyclerview-v7:27.1.1',要确保项目的SDK版本和依赖版本对应:
打开build.gradle(Module: app)文件,确认:
android { compileSdkVersion 27 defaultConfig { targetSdkVersion 27 // ...其他配置项 } }
如果你的compileSdkVersion不是27,要么把依赖版本改成和SDK版本一致,要么把SDK版本调整到27
4. 检查有没有错误导入系统的R文件
看看你Home.java的顶部import语句,有没有import android.R;?如果有,赶紧删掉!这个是系统自带的R文件,不是你项目的,会导致找不到自己布局里的id。正确的应该是导入你项目的R文件:import com.example.liew.idelivery.R;(Android Studio一般会自动导入,没导入的话手动加)
5. 排查布局文件的语法错误
如果activity_home.xml里有语法错误(比如标签没闭合、属性写错),R文件会无法正常生成。打开布局文件,看看有没有红色的警告或错误提示,把这些问题修复之后再重建项目
另外,我注意到你提供的Home.java代码里,onNavigationItemSelected方法没写完:
}else if (id == R.id.nav_orders) { }else if (id == R }
这个语法错误也会影响编译,导致R文件生成异常,记得把这段代码补全哦!
内容的提问来源于stack exchange,提问作者Liew Syet Chau

