我在资源中定义的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是库项目的相对磁盘位置。