oce*_*ing 4 resources android types project
在我的Android应用程序中,我创建了2个项目.主要项目和图书馆,因为它将在未来的项目中使用.由于我想在代码中引用一些视图,我尝试创建一个资源类型文件来声明一些独特的ID,如http://developer.android.com/guide/topics/resources/more-resources.html#Id中所述.
问题是,当我将此文件添加到res/values(称为ids.xml)时,不再生成R文件.当我删除它一切正常.
我知道我可以在android项目中添加id资源类型文件.在图书馆项目中做同样的事情有限制吗?
比尔谢谢你
经过2天的研究,我终于找到了解决方案.
帖子[这里] [1]
[1]:Android风格资源编译(aapt)失败:错误的资源表:标题大小0xc帮助了我.
无论是Android项目还是库项目都无关紧要,但是当您在其中一个样式中声明了新ID时,则无法添加ids.xml文件来声明唯一ID.
在我的例子中,我在res/values/styles.xml中声明了一个样式
<style name="ActionBar">
<item name="android:id">**@+id/actionbar_container**</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">@dimen/actionbar_height</item>
<item name="android:orientation">horizontal</item>
<item name="android:background">@drawable/actionbar_gradient</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后添加了res/values/ids.xml,其中我声明了一些唯一的ID.例如,
<resources>
<item type="id" name="menu_refresh" />
</resources>
Run Code Online (Sandbox Code Playgroud)
添加此文件后,R停止生成.Project Clean没有做好工作.
当我将styles.xml中的声明更改为@ id/actionbar_container时,R再次开始生成.区别在于我在我的ids.xml文件中声明了id,而我使用@id而不是 @ + id 引用了上面的样式.
结论:如果要在资源文件中声明唯一ID(即ids.xml),请首先仔细检查您的样式中是否未声明任何新ID(使用@ + id语法).
希望能帮助任何有同样问题的人.
快乐的编码!
归档时间: |
|
查看次数: |
3303 次 |
最近记录: |