The*_*ner 29 android android-layout
我试图使用一些在线教程来解决多种布局问题.事情就是我的程序只要只有一个XML文件就可以正确构建和编译.当我添加多个XML文件时,我收到的错误是"无法解析activity_main或者不是该行的字段"setContentView(R.layout.activity_main);
实际上,我之前使用的每个项目R.*现在报告错误.我不知道出了什么问题.任何人都可以建议需要做什么?
编辑1:我尝试清理和重建项目,但这没有帮助.另外,我正在导入正确的R.java文件,如mypackage .R.java
根据@ RubberDuck的评论,我一旦删除文件,就会在构建项目后生成R.java文件.但是,当我创建新的XML文件并在其中添加元素时,构建项目时,R.java会被删除.
ros*_*per 57
我有同样的问题,通过更换固定R有com.example.appname.R明显的摆在那里,而不是你的包的参考.或者只是将此行添加到您的文件中:
import com.your.package.R
Run Code Online (Sandbox Code Playgroud)
或者甚至更好,尝试从代码中删除此行(如果存在):
import android.support.compat.R
Run Code Online (Sandbox Code Playgroud)
Abd*_*hid 23
在 2019 年,我遇到了同样的问题,我在互联网上搜索并找到了以下内容,与大家分享。
在 android studio 中,字母 R 代表资源,发生此错误是因为构建过程无法将资源与您的项目同步。换句话说,此错误是由于 Android Studio 无法正确生成您的 R.java 文件而导致的。当您将代码转移到另一个系统或第一次构建 android 项目时,会发生此问题。因此,当您创建新活动或新类时,您将看到一条错误消息,例如“无法解析符号 r”,并带有红色下划线。
您可以在下面找到解决 android studio 中无法解析符号 r 的可能方法。
将项目 Gradle 更新为最新版本 始终使用最新版本的 Gradle 以正常运行 android studio。
将项目与 Gradle 文件同步更新 Gradle 插件后,您需要将项目与 Gradle 文件同步。打开 android studio 并单击Files > Sync Project with Gradle Files option。
清理并重建项目 最有效的解决方案是最简单的:清理并重建项目。从 Android Studio 工具栏中选择Build > Clean Project,稍等片刻,然后通过选择Build > Rebuild Project来构建您的项目。
Invalidate Caches / Restart 如果您在移动一些文件和目录后遇到此错误,则R.layout错误可能是由 Android Studio 的缓存与您项目的当前布局之间的不匹配引起的。如果您怀疑可能是这种情况,请选择File > Invalidate Caches / Restart > Invalidate and Restart从 Android Studio 的工具栏中。资源名称的问题也会阻止正确创建 R.java 文件,因此请检查您是否有多个同名资源,并且您的文件名中没有包含无效字符。Android Studio 仅支持小写 az、0-9、句号和下划线,单个无效字符可能会导致整个项目中出现 R.layout 错误,即使您实际上并未在项目中的任何地方使用此资源!
我的问题及其解决方案:就我而言,我应用了上述所有方法但无法解决问题。因此,我开始了一个新项目,并一一粘贴了我的代码,并通过运行该应用程序验证了我的代码。最后,当我第一次删除colors.xml 中的代码并在colors.xml 文件中复制并粘贴下面的代码时,我得到了错误。
<color name="bg_login">#26ae90</color>
<color name="bg_register">#2e3237</color>
<color name="bg_main">#428bca</color>
<color name="white">#ffffff</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#888888</color>
<color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#5e6266</color>
<color name="btn_login">#26ae90</color>
<color name="btn_login_bg">#eceef1</color>
<color name="lbl_name">#333333</color>
<color name="btn_logut_bg">#ff6861</color>
Run Code Online (Sandbox Code Playgroud)
当我撤消更改时,错误再次消失。因此,我在colors.xml 中的代码不是上面的代码,而代码已经在colors.xml 中,即
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="bg_login">#26ae90</color>
<color name="bg_register">#2e3237</color>
<color name="bg_main">#428bca</color>
<color name="white">#ffffff</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#888888</color>
<color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#5e6266</color>
<color name="btn_login">#26ae90</color>
<color name="btn_login_bg">#eceef1</color>
<color name="lbl_name">#333333</color>
<color name="btn_logut_bg">#ff6861</color>
Run Code Online (Sandbox Code Playgroud)
“也许是因为我没有定义颜色原色”希望它可以帮助像我这样的编程新手。
您正在导入无效的 R 类,例如 com.example.R 导入 yourpackage.R 类
你导入 android.R 类而不是 yourpackages.R 究竟发生了什么
通过导入该行删除了我的错误
import com.example.myapplication.R;
Run Code Online (Sandbox Code Playgroud)
您的导入行可能会有所不同,具体取决于您的项目名称,其中我的项目名称是myapplication
我造成此错误的愚蠢错误是错误的 AndroidManifest.xml文件中的软件包字符串。我在教程中保留了字符串设置,但是在设置项目时使用了自己的字符串。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="COM.YOU.YOURAPPNAME"
android:versionCode="1"
android:versionName="1.0" >
Run Code Online (Sandbox Code Playgroud)
如果有以下导入,请删除它
import android.R
这个问题基本上发生在当你传递一个java代码然后你让android studio将它转换为kotlin时导入会自动发生
| 归档时间: |
|
| 查看次数: |
120241 次 |
| 最近记录: |