我差不多完成了一个简单的Android应用程序,它似乎运行良好。 但是,当我运行代码分析时,我收到大约100个关于xml文件的警告 我收到的错误是'Unbound XML namespace prefix'和'Namespace is bound'
这是我的一个xml文件中的一个小样本:`
<style name="dialog_title_style" parent="android:Widget.TextView">
<item name="android:background">@android:color/black</item>
<item name="android:padding">10dp</item>
</style>
<style name="MySpinnerLook"
parent="@android:style/TextAppearance.Widget.TextView.SpinnerItem">
<item name="android:textSize">40dp</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:text">Currency</item>
</style>
`
我已经搜索了这个问题,但似乎无法找到解释。 我不确定这个问题是否是如此基本,以至于解决方案应该是常识,或者这是一个模糊不寻常的问题
答案 0 :(得分:3)
您尚未命名生成“未绑定XML名称空间前缀”警告的程序包或程序,因此很难确定问题所在。但是,一般而言,该警告表明程序正在抱怨看起来像这样的名称空间前缀XML名称,尤其是在属性值中。如“android:Widget.TextView”或“android:background”。这只是一个过于激烈(如果不是实际破坏)代码检查器的烦恼。
您的示例本身没有任何问题,但 的过度热情有一定基础。有些应用程序可以在其中调用“qnames”,它们可以出现在属性值或文本内容中。 (在模式规范中经常出现的一个例子:'xsi:type =“xs:string”'。)这里,如果qname是意图,警告将是“正确的”,但是检查器有无法知道这一点。
你最好调查检查者是否提供了一个选项来禁止这种特殊的“检查”。
答案 1 :(得分:0)
我遇到了与textColor和textSize标签相同的问题。帮助我的是将android api从版本10(android 2.3.3)更改为版本7(android 2.1),但我无法解释原因。文档没有说这些标签在较新版本的android或类似的东西中已被弃用。可能是api v10中的一些错误?我不知道。