0

我刚刚从我的项目中删除了一个几周未使用的 XML 文件,并且在我自己编写的任何文件中都没有被引用一次。删除后,我有 79 个错误,声称指向 R.java 文件的所有内容“无法解析或不是字段”。我已经重新启动了 Eclipse,我的电脑,清理和重建了几次。我似乎无法找到将文件添加回来的方法。我怎样才能解决这个问题?

编辑: R.java 目前在我的项目中根本不存在。

编辑 2:这是我的控制台输出:C:\Users\Matt\workspace\BarJinx\res\menu\login_picker.xml:3: 错误:错误:未找到与给定名称匹配的资源(在 'title' 处,值为 ' @string/action_forgot_password')。

这是我的 login_picker.xml 代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/action_forgot_password"
    android:showAsAction="never"
    android:title="@string/action_forgot_password"/>

</menu>
4

4 回答 4

0

您可以尝试几件事。-

  • 我猜您没有连接到 svn 存储库,但您仍然可以尝试右键单击Project => Restore From local history...,以确保您删除的文件导致了问题(如果您关闭了 eclipse,这可能无法正常工作)

  • 双重检查Problems tab;它可能会给你一个关于为什么R没有生成的线索(通常与保持项目源编译的一些问题有关)

  • 转到Android properties,更改Android Target Version并接受。

  • 点击Android Tools => Fix Project Properties

  • 检查Project => Java build path构建路径问题。

希望能帮助到你。

于 2013-09-17T22:41:15.927 回答
0

所以在做了几次“从每个文件中删除所有android.R导入”的事情之后,去睡觉,第二天早上再做一次,它确实有效。有时我讨厌日食。

于 2013-09-19T13:44:59.597 回答
0

很抱歉,这是您需要的主要部分

<string name="action_forgot_password">So you forgot your password</string>

或者您也可以在 login_picker.xml 文件中添加一个字符串

"so you forgot your password"

让我解释一下第一种方式是最好的,因为你不能假设用户会说英语。稍后您将看到为什么字符串被单独存储在一个字符串文件或多个字符串文件中,每个文件对应一种语言。例如,如果应用程序在设置为西班牙语的设备上运行,您首先需要一个文件 strings.es 女巫有这一行

<string name="action_forgot_password">El So you forgot your password</string>

抱歉,我不会说西班牙语,但我希望你明白为什么他们使用这一轮间接引用另一个文件中的字符串的方式。这是安卓的方式。您也不能假设运行您的应用程序的设备会有一个小显示器,因此您最终会制作许多布局,每个屏幕尺寸一个,这就是为什么您有许多可绘制文件,每个布局一个。

于 2013-09-18T16:21:18.497 回答
0

如果您有红色波浪线,您的资源文件不会自动重新创建自己,语法错误会阻止您的代码编译。通过这个未重新创建的关键文件资源,您会遇到很多错误。这是可以预料的。要解决您的问题,请打开文件 C:\Users\Matt\workspace\BarJinx\res\values\strings.xml 并添加这一行

如果您使用 Eclipse 单击资源选项卡有帮助,您可以从您的 ide 添加/编辑字符串,祝您好运。

于 2013-09-18T02:26:30.910 回答