我在资源中定义的R.java文件和样式遇到奇怪的问题。

这是一些代码:

在res / values / strings.xml中:

<style parent="android:Theme.Dialog" name="PopupWindowStyle">
<item name="android:windowBackground">@drawable/bg1</item>
<item name="android:textColor">@android:color/black</item>
</style>


在AndroidManifest.xml中:

<activity
    android:name=".RegisterScreen"
    android:icon="@drawable/ico"
    android:label="@string/applicationName"
    android:theme="@style/PopupWindowStyle"
    android:configChanges="locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|fontScale">
</activity>


在自动生成的gen /.../ R.java中:

public static final class style {
    public static final int PopupWindowStyle=0x7f090000;
}


在项目中进行一些更改后,eclipse将PopupWindowStyle的自动生成的值从0x7f080000更改为0x7f090000。之后,在Android 1.5上,显示的RegisterScreen活动没有PopupWindowStyle样式-logcat中显示错误:

Skipping entry 0x7f090000 in package table 0 because it is not complex!

在Android 1.6上,一切正常-PopupWindowStyle的工作方式就像它的整数值更改之前一样。

我通过将源代码恢复为旧版本来测试此问题。我可以确认,此问题是在src代码提交后开始发生的,该问题更改了两个与该部分代码完全无关的文件-一个自动生成的R.java文件。

知道是什么原因造成的吗?

最佳答案

我今天也遇到了这个错误。就我而言,有2个项目-一个是应用程序,另一个是库。两者都包含字符串。在库项目的代码中,生成的R类文件具有与应用程序项目相同的某些字符串的整数索引。

我必须更改应用程序项目的default.properties以使其包含在内
android.library.reference.1 = libraryprojectlocation

其中libraryprojectlocation是库项目的相对磁盘位置。

10-08 20:00