我在button_selector.xml中定义了以下选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_settlement_background_pressed" />
<item android:state_enabled="true"
android:drawable="@drawable/button_settlement_background_normal" />
<item android:state_enabled="false"
android:drawable="@drawable/button_settlement_background_disabled" />
</selector>
当我运行lint时,我收到以下警告:在布局文件中找到意外的文本:“”。它说它发生在第4行的“可绘制”中。所有引用的drawable都存在于/ res / drawable中。
有谁知道造成这种情况的原因是什么?我可以忽略警告,但如果可能的话,我宁愿修理它。
此外,当我们仅在AndroidManifest.xml中引用时,我会收到有关未使用的字符串和图标的警告。有没有办法解决这些问题而不是忽略它们?
答案 0 :(得分:20)
使用Project>Clean
。
修正了我的问题。
答案 1 :(得分:14)
也许在白色空间的某处有一个看不见的角色。我尝试从头开始重新创建xml(不使用复制和粘贴,这只会复制问题,如果这是正在发生的事情)。我也会清理并重建项目。
就未使用的资源警告而言,我认为没有办法控制它。对于图书馆项目来说,误报的问题要严重得多。 Android lint是一个相当新的工具,(在我看来)仍然有很多粗糙的边缘。
答案 2 :(得分:13)
您还可以格式化xml文件(CTRL + SHIFT + F)
。将显示额外的字符。
答案 3 :(得分:2)
通常,当您插入类似“android:id =”而没有换行并使用eclipse的自动完成时会发生这种情况,如下所示:
<LinearLayout
android:id= >
^
这里输入enter,代码看起来像这样:
<LinearLayout
android:id="@+id/
字符'&gt;'已被删除,“”变得无形。
使用ctrl+shift+f
格式化文件以查找隐藏的字符。
答案 4 :(得分:1)
我发现如果我关闭了文件,我将隐藏的字符打开,然后重新打开相同的文件。角色不再被隐藏(通常只是在/&gt;之后,例如/&gt;“)。
答案 5 :(得分:0)
分析->检查代码
对我有用!
答案 6 :(得分:-1)
在XML文件中,标签包含属性。考虑一下:(最后“&gt;”不应该在那里)......
<selector xmlns:android="http://schemas.android.com/apk/res/android">
确保第一行的标记不包含“&gt;”。
将以上代码替换为:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
...
</selector>
现在其他元素都在选择器标签下。我希望这会有所帮助。