Eclipse不再能识别自定义属性? (机器人)

时间:2012-08-23 20:11:18

标签: android eclipse android-resources declare-styleable

昨天,我的项目正在建设并且正常运行。今天,Eclipse决定不再识别我的自定义属性了。我想不出有什么改变会引起这种情况。我有大约24个充满自定义属性的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个小时里,我一直在梳理我的头发,看不到任何我做错的事。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

尝试重新启动eclipse以查看是否可以修复它。

答案 1 :(得分:0)

我遇到过类似的问题,eclipse并没有将它们视为android xml布局。我必须通过右键单击布局文件夹/ new / other / Android Xml布局文件重新创建它们,然后将您的布局复制粘贴到新布局。

删除或保存旧项目并从项目菜单中清除项目。

另外,你应该在活动的顶部仔细检查你的导入,如果你在导入中有一个对an​​droid.R的引用,它会假设其余的来自android系统资源。

答案 2 :(得分:0)

花了将近一整周的时间来追踪问题所在,但我终于找到了它:

不知怎的,我无意中更改了Manifest中的包名。

作为每个人的一般调试提示,我将说明是什么帮助我追踪这一点:我在这个问题发生的当天/周围查看了提交中更改的文件(整个项目在GitHub上) 。我注意到一个提交,其中类似项目的大部分清单被复制到此项目中,包括类似包的包名称。因此,如何在此项目的清单中更改包名称,从而不再识别使其成为属性的问题。看起来这是一个不太可能发生的问题,没有人会拥有它,但万一它确实发生了,那就是我的问题的答案最终结束了。