In every instance in all of my classes where I reference R.id.something, the R is in red and it says "cannot resolve symbol R". Also every time there is R.layout.something it is underlined in red and says "cannot resolve method setContentView(?)". The project always builds fine. It is annoying to see this all the time. I have read many other questions on here about something similar but most involved importing projects from Eclipse. I am using what I believe to be the most recent version of Android Studio and the project was created with Android Studio and worked without any "cannot resolve R" problems. I would like to know what causes this if anyone knows.
当前回答
我也遇到过同样的问题,大多数时候都是通过
同步项目与gradle文件 做构建->清洁项目 Doing File ->使缓存失效
但这一次,即使在做了所有这些事情后,错误仍然存在,最后我找到了罪魁祸首。
问题是在一个xml文件,在那里我给了一个普通的字符串值为android:id而不是id资源类型。
错误
android:id="username"
修正
android:id="@id/username"
混淆xml文件中与资源相关的内容是一个主要问题 此错误的原因。注意,它可能不会在xml布局文件中显示为错误。
请注意
在大多数情况下,编译器会在消息中显示错误的来源。 在尝试其他解决方案之前,请先检查它
其他回答
清洁,重建和“缓存删除”不会帮助我,更新Android工作室修复了这个问题。
我也遇到过类似的问题,我是这样做的:
清洁项目和同步项目与Gradle,
检查buildTools版本在我的sdk
从build gradle (module)中将minSdkVersion从8修改为9
defaultConfig {
applicationId "PackageName"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
但这一切都无济于事。
最后我找到了答案(这对我来说很管用)
从build.gradle(module:app)更改
android {
compileSdkVersion 21
buildToolsVersion '21.0.1'
......
....
}
Or
选择文件|项目结构将构建工具版本更改为21.1.1
在我的情况下,我需要修复我的布局XML文件中的一些错误。没有指示文件包含错误的图标。然而,当我点击它们时,我注意到一些红线。修好后,找到了R。
检查xml文件。 清洁项目。
就是它了。
例如,我在strings.xml中有一个条目:
<string name="A">Some text</string>
在activity_main.xml中,我使用了这个字符串条目
<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>
当我一直在做这个项目的时候,我把它删除了
<string name="A">Some text</string>
因此activity_main.xml就无效了。结果:不能解析R。
因此,检查您的*.xml文件并清除项目。
以上答案都不能解决我的问题。所以我添加了我的解决方案,以防有人遇到类似的问题。在我的构建中。我有gradle依赖,
compile 'com.android.support:appcompat-v7:22+'
我的compilesdk版本是 编译esdkversion 21,所以android工作室不高兴。我简单地更新了我的compilesdkversion到23,并进行了同步。
我还将依赖项更新为
compile 'com.android.support:appcompat-v7:23.1.1'
匹配我的支持库在工具—> Android—> SDK管理器—> SDK工具选项卡—> Android支持库—>版本。 现在一切都好了。快乐编码:)
推荐文章
- 在Android中,对话框被取消或被取消有什么区别?
- 在ScrollView触摸处理中的HorizontalScrollView
- 何时在Android中使用RxJava,何时使用Android架构组件中的LiveData ?
- 如何在Android项目中使用ThreeTenABP
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 我的Android设备没有出现在adb设备列表中
- 在没有安装apk的情况下获取Android .apk文件的VersionName或VersionCode
- Fragment onResume() & onPause()不会在backstack上被调用
- 如何设置基线对齐为假提高性能在线性布局?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何改变TextInputLayout的浮动标签颜色
- Android工作室如何运行gradle同步手动?
- 如何以编程方式在我的EditText上设置焦点(并显示键盘)