草庐IT

android - 在 Eclipse : Why? 中导入 android.R

coder 2023-06-08 原文

摘自 documentation :

Eclipse sometimes likes to add an import android.R statement at the top of your files that use resources, especially when you ask eclipse to sort or otherwise manage imports. This will cause your make to break. Look out for these erroneous import statements and delete them.

我的问题:为什么? 为什么 eclipse 继续这样做?

我已经使用 Eclipse 开发 Android 应用程序已经有一段时间了,但我一直无法理解为什么 eclipse 会做这样的事情。

当我使用 Ctrl + Shift + O 来组织我的导入语句时,import android.R 会自动添加。突然间,我的正确代码突然被红色错误覆盖,说 R 无法解析。对于初学者来说真的很可怕,因为他不知道自己做错了什么。

在另一种情况下,假设我的布局文件有问题并且没有生成R.java,它说R无法解析,因为R。由于错误,尚未生成 java。当我将光标移动到任何错误时,它会建议我 import android.R.

在Android上工作了一段时间后,我知道从不导入android.R,但我一直无法理解为什么eclipse一直在建议它,坦率地说,添加import android.R 从来没有解决我的任何问题。它只是增加了现有的问题,这在开发的最初几天确实很痛苦。

那么,有谁知道 eclipse 提出错误导入建议的原因?这只是一个错误吗?我不认为这是一个错误,因为至少在 Android 文档中提到它之后它会得到修复。

如果不是错误,那么 android.R 的真正目的是什么?它具体指的是什么?

您的意见/经验将非常有帮助!

谢谢!

最佳答案

这不是错误。在某些情况下,android.R 可以提供帮助并解决问题。

android.R 是一个 R.java 文件,就像您在自己的项目中拥有的文件一样。您项目中的一个 (your.packagename.R) 包含对您在 /res 文件夹下的资源的引用,例如布局、drawable、XML 文件、原始文件、字符串等等

另一方面,android.R 文件包含对 Android 内置的某些默认资源的引用,例如 simple_list_item_1

Eclipse 有时会建议并自动导入它,就好像您的项目的 R 文件由于 XML 错误或其他原因尚未生成一样,您的代码将引用一个不存在的文件。通过导入 android.R,eclipse 确保您的代码引用了一个存在的类。但是,android.R 不太可能拥有与您相同的资源,这会引发另一组错误。

关于android - 在 Eclipse : Why? 中导入 android.R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309941/

有关android - 在 Eclipse : Why? 中导入 android.R的更多相关文章

  1. Ruby 元类 : why three when defined singleton methods? - 2

    让我们计算MRI范围内的类别:defcount_classesObjectSpace.count_objects[:T_CLASS]endk=count_classes用类方法定义类:classAdefself.foonilendend然后运行:putscount_classes-k#=>3请解释一下,为什么是三个? 最佳答案 查看MRI代码,每次你创建一个Class时,在Ruby中它是Class类型的对象,ruby会自动为这个新类创建“元类”类,这是另一个单例类型的Class对象。C函数调用(class.c)是:rb_define

  2. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  3. ruby 代码 : why put colon in front of variable name (inside initialize method) - 2

    我遇到了一些Ruby代码,我试图理解为什么变量在initialize方法声明中的名称末尾有冒号。冒号有什么原因吗?attr_reader:var1,:var2definitialize(var1:,var2:)@var1=var1@var2=var2end 最佳答案 那些是关键字参数。您可以按名称而非位置使用它们。例如ThatClass.new(var1:42,var2:"foo")或ThatClass.new(var2:"foo",var1:42)Anarticleaboutkeywordargumentsbythoughtbot

  4. ruby - 在 eclipse 中配置 gem - 2

    我正在尝试在Eclipse中从事流浪者/厨师项目。我对这两种技术都很陌生,对ruby有点生疏。我已经安装了rdt并且有一个带有代码的ruby​​项目。然而,eclipse似乎并不理解gems是必需的。有没有办法让ruby​​gems和eclipse一起玩得很好。我以为我可以将gems添加为库,但这似乎不起作用。 最佳答案 我在让Eclipse识别我安装的gem时遇到了一个非常相似的问题。我使用的是rvm,默认指向ruby​​2.1.0。我正在调试的ruby​​代码在顶部有一个require'mail'。运行或调试脚本时,控制台报错:

  5. ruby-on-rails - 如何将 rvm 与 eclipse 的设置绑定(bind) - 2

    我正在为不同的应用程序使用多个ruby​​实例和gemset进行开发。为了在我的ruby​​版本和gemset之间切换,我使用.rvmrc文件。我还使用带有radrails插件的Eclipse作为我的开发工具。有什么方法可以让eclipse使用rvm在不同的gemsets和ruby​​版本之间自动切换? 最佳答案 Gointoyourprojectdirectoryandcreateafilecalled.rvmrccontainingtheline:rvmuseruby-1.8.7-p330@testing--default(or

  6. ruby - 异常 : why does adding parenthesis change anything? - 2

    关于Ruby如何处理内联错误处理程序,我想了解一些事情案例一这是一个常见的用例deffooraiseErrorendbar=foorescue1#=>1bar#=>1它按预期工作。表达式foorescue1返回1并正确分配给bar。案例二Ruby允许解构数组,所以这种行为看起来很奇怪。baz='a'baz,bar=foorescue[1,2]#=>[1,2]baz#=>'a'bar#=>nil表达式返回数组[1,2]但不解构或分配它。它完全跳过了分配。案例三但是,当您将错误括在括号中时,解构就起作用了。baz,bar=(foorescue[1,2])#=>[1,2]baz#=>1bar

  7. ruby-on-rails - 删除 rspec 中的测试 - 更改(模型,:count) failing - Why is reload needed? - 2

    TLDR:App.count需要重新加载才能看到创建的记录。为什么?我找到了很多关于测试DELETE方法的引用资料,如下所示:expect{delete_request}.tochange(App,:count).by(-1)这是有道理的,并且适用于一些类似的场景。但是,我在测试不应该执行的删除时遇到了一个问题,例如当没有用户登录时。我从这里开始,用两种方法来测试同一件事:require'rails_helper'RSpec.describeV1::AppsController,type::controllerdolet(:user){create(:user)}let(:app){c

  8. ruby - ActiveRecords 选择(:id). 收集与采摘(:id) methods: Why is pure AR "pluck" slower? - 2

    我正在尝试从我的文章模型中获取所有ID。我可以通过两种方式做到这一点:Article.select(:id).collect{|a|a.id}ArticleLoad(2.6ms)SELECT"articles"."id"FROM"articles"或2.2.1:006>Article.pluck(:id)(4.3ms)SELECT"articles"."id"FROM"articles"什么给了?为什么AR比Ruby版本慢?即使我对Ruby方法进行基准测试,它似乎也更快:Benchmark.measure{Article.select(:id).collect{|a|a.id}}Art

  9. ruby - 融合表 : Why do I keep getting a "400 Bad Request" error when trying to update a table style via Ruby's RestClient gem - 2

    我正在尝试使用RubygemRestClient为我的一个FusionTables更新样式。这是我的代码:require'rest_client'tableId=''styleId=''key=''table_url="https://www.googleapis.com/fusiontables/v1/tables/#{tableId}/styles/#{styleId}?key=#{key}"update='{"polygonOptions":{"strokeColor":"#ffffff"}}'token='STRINGCONTAININGAUTHORIZATIONTOKEN'R

  10. ruby - 使用 eclipse dltk 调试 ruby - 2

    我正在尝试在win7x64机器和ruby​​1.92环境上使用eclipsehelios(安装了dltk)调试ruby​​脚本我安装了ruby​​-debug19、ruby-debug-base19、ruby-debug-ide19gems,但仍然无法使用eclipsedlt调试rb脚本,如下所示,DebuggingEnginenotstartedThe'FastRubyDebugger(ruby-debug)'isselected,butthe'ruby-debug'gemdoesn'tseemtobeinstalledintheselectedRubyInterpreter(C:\

随机推荐