AndroidManifest.xml使用存储在public.xml中的整数ID作为主题

时间:2016-06-22 20:09:10

标签: java android android-xml

< p>这是我的文件的粗略概念。我继承了一堆使用< code> public.xml< / code>的代码。要映射的文件< code> ids< / code>到< code>主题< / code>。此代码抛出错误:< / p> < p>< code>错误:(40,24)不允许整数类型(在'主题'有价值' 0x7f09007a')< / code>< / p> < p>但是,当我更换< code> android:theme =" 0x7f09007a"< / code>与< code> android:theme =" @ style / myCoolTheme< / code>一切正常。我需要能够使用这些< code> ids< / code>因为我继承的更多代码使用它们。我是否遗漏了使清单文件在< code> public.xml中使用id映射的内容?< / code>< / p> &LT p为H.;<强>应用程序/ SRC /主/ RES /的AndroidManifest.xml< /强>< / p为H. < pre>< code><?xml version =" 1.0"编码=" UTF-8"> < manifest ...     <应用        机器人:主题=" 0x7f09007a"        ...     < /应用程序> < /清单> < /代码>< /预> &LT p为H.;<强>应用程序/ SRC /主/ RES /值/ public.xml< /强>< / p为H. < pre>< code><?xml version =" 1.0"编码=" UTF-8">     <资源>        < public type =" style"命名=" myCoolTheme" ID =" 0x7f09007a" />        ...     < /资源> < /代码>< /预> &LT p为H.;<强>应用程序/ SRC /主/ RES /值/ style.xml< /强>< / p为H. <预><代码><资源>     < style name =" AppTheme"         ...     < /风格>     < style name =" myCoolTheme"父=" @风格/ AppTheme" /> < /资源> < /代码>< /预>

2 个答案:

答案 0 :(得分:1)

参考this post,我认为使用@style/myCoolTheme是正确的,因为您正在使用name="myCoolTheme"的{​​{1}}。

public.xml属性的唯一目的是将该整数值合并到id=""中,而不是由其他XML文件引用。

答案 1 :(得分:0)

您是否尝试过将xml中的资源名称重命名为同一个东西?是否有必要将样式命名为" myCoolTheme"?如果没有,这可能会成功。

<?xml version="1.0" encoding="utf-8"?>
    <resources>
       <public type="style" name="0x7f09007a" id="0x7f09007a" />
       ...
    </resources

如果重命名它不是问题,您只需在AndroidManifest.xml中使用以下内容

android:theme="@style/0x7f09007a"a