【发布时间】:2012-08-23 20:11:17
【问题描述】:
昨天,我的项目正在构建并运行良好。今天,Eclipse 决定不再识别我的自定义属性。我想不出任何我改变的东西会导致这种情况。我有大约 2 打包含自定义属性的 XML 布局,但它无法识别其中的任何一个。这是其中一种布局(在 res/layout 中):
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aes="http://schemas.android.com/apk/res/com.aes.androidapp"
android:title="@string/ffour_analog_in_1">
<com.aes.androidapp.IntPref android:title="@string/ffour_calibration_offset"
android:summary="@string/ffour_calibration_offset_sum"
android:key="ffour_ain1_calibration_offset"
android:defaultValue="0"
android:digits="-1234567890"
android:gravity="right"
android:inputType="numberSigned"
aes:range="-19999:30000"/>
<com.aes.androidapp.IntPref android:title="@string/ffour_filter_time"
android:summary="@string/ffour_filter_time_sum"
android:key="ffour_ain1_filter_time"
android:defaultValue="0"
android:digits="-1234567890"
android:gravity="right"
android:inputType="numberSigned"
aes:range="-600:600"/>
</PreferenceScreen>
这是我的属性文件(res/values/attrs.xml):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="IntPref">
<attr name="range" format="string" />
<attr name="condition" format="string" />
</declare-styleable>
</resources>
由于 XML 文件被视为有错误,因此不会生成 R,因此 IntPref.java 也有问题。在过去的 8 个小时里,我一直在为此扯头发,看不到我做错了什么。有什么建议吗?
【问题讨论】:
-
您确定 XML 文件中的某些拼写错误不会阻止 R 的构建(因此会混淆所有内容)吗?在您的 Package Explorer 窗口中仔细检查是否有任何错误图标,因为我假设您的 Problems 窗口中充斥着“找不到资源”相关的错误...
-
XML 文件中没有任何拼写错误。它说我有 210 个错误。它们似乎在“没有为包(我的包)中的属性(我的属性之一)找到资源标识符”和“R 无法解析为变量”之间分割了一半我注意到的东西......我的 gen文件不包含任何以我的包裹名称命名的内容?可能这只是它无法找到我的属性的另一个症状。
-
通常当我看到这个错误时,是因为我从 strings.xml 中删除了一个字符串,但仍然有一个 UI 元素引用它(或类似的东西)。您没有删除
res/values文件夹中的整个文件(缺少的资源标识符是否有任何共同点,就像它们都是样式、颜色或字符串一样)?我认为 gen 文件是因为问题而不是问题的根源而关闭的。很抱歉,除此之外我帮不上什么忙。
标签: android eclipse android-resources declare-styleable