我在res 布局文件夹中的main.xml文件中添加了一些UI元素,当我尝试通过调用访问它们时, R.layout.my_uielement, ,我创建的UI元素不存在。即使我添加带有UI元素的新XML文件,它仍然不会显示在 R.layout 班级。我已经检查了它们的ID,它们具有正确的格式(我认为): android:id="@+id/my_button". 。可能是什么问题呢?我需要先编译代码吗?
更新:
我已经尝试了 adb kill-server 然后 adb start-server. 。似乎没有帮助。我也尝试了 R.id.my_uielement, ,也没有注册。

有帮助吗?

解决方案

可能不是您的情况,但是有时当我使用Android.r套件(默认Android资源)中的东西时,我在课堂上使用它,然后再在我自己的资源包中引用任何内容时,Eclipse添加了 import android.R; 我的进口声明。这将与隐式查看软件包资源的默认行为相抵触。

检查您的导入语句 import Android.R;. 。如果在那里,请删除它。而且,如果您使用的是Android.r中的任何东西,请在代码中使用它时完全限定它。

其他提示

干净的项目正常工作。在Eclipse中,如果您只是更改一些XML组件,它并不总是生成新的R文件。清洁做到了。

使用r.id.your_ui_element,而不是r.layout.your_element

我也面临着这个问题。 R.Java既没有生成也不更新。

如果R.Java不是 生成 创建项目时,运行“空”项目。将自动生成的带有资源引用的R.Java。

如果R.Java没有得到 更新, ,请检查帮助中的更新 - >检查Eclipse中的更新,并在需要时更新您的SDK和ADT。

两天后,我找到了一种修复它的方法...

我在邮件中保存了一半的项目,所以 R.java 消失了,我只是用旧的 R.java 文件,这修复了很多错误,然后进行了必要的更改并构建了项目(构建它不干净)...我不知道干净和构建是否执行相同的工作。.但是每次我清理它时, R.java 曾经看不见...

干净的 在工作,因为它 建造 清洁后的项目。因此,问题是(至少在我的情况下是因为我几天前关闭了自动构建),在您在.xml文件中添加一个项目或任何内容后,Eclipse不会构建它,也不能构建它刷新R.Java。

我注意到,当我将项目添加到strings.xml文件或其他地方时,我的r.java文件并不总是正确更新。如果我使用一个新值,我添加了像r.string.newstring。实际整数值可能仍然指向r.string.oldstring或其他任何(通常是符号上方或下方的元素,我还没有肯定地钉住模式)。

您不应该修改r.java文件,但对删除它没有说什么(无论如何我都不知道)。我发现删除R.Java通常可以解决与资源相关的问题,因为Eclipse立即使用正确分配的整数值重新生成文件。

请注意,我是Eclipse的初学者,所以我可能不了解删除R.Java的后果,但到目前为止,它似乎对我来说很好。如果我在做的事情很糟糕,请告诉我。

这些都不适合我!我可以访问的唯一方法 @+id/foomyPackage.R.id.foo.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top