2014-09-21 85 views
0

我有一个简单的自定义选择器为我的列表视图,但我得到一个XML错误任何想法为什么? 错误: 未绑定的前缀(3号线) 格式不正确(标记无效)(5号线)Listview自定义选择器问题

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android ="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false" android:state_selected="false" 
    <color android:color = "#FF8800" /> 
<item android:state_pressed="true" > 
    <shape> 
    <gradient 
     android:startColor="#E77A26" 
     android:endColor="#E77A26" 
     android:angle="270" /> 
    </shape> 
</item> 
<item android:state_selected="true" android:state_pressed="false" 
    <color android:color = "#FF8800" /> 
</selector> 

回答

1

由于纳迪尔乙建议,你没有关闭标签不当,不幸的是他提出了一个错误的解决办法。

项目必须包装颜色元素(<item ...> ... <color... /> </item>)而不是自闭元素(例如<item ... />)。 您在给出的示例中犯了两次错误。确保您注意到这两个变化。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android ="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false" android:state_selected="false" 
    <color android:color = "#FF8800" /> 
<item android:state_pressed="true" > 
    <shape> 
    <gradient 
     android:startColor="#E77A26" 
     android:endColor="#E77A26" 
     android:angle="270" /> 
    </shape> 
</item> 
<item android:state_selected="true" android:state_pressed="false" 
    <color android:color = "#FF8800" /> 
</selector> 

应该

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android ="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false" android:state_selected="false"> 
    <color android:color = "#FF8800" /> 
</item> 
<item android:state_pressed="true" > 
    <shape> 
    <gradient 
     android:startColor="#E77A26" 
     android:endColor="#E77A26" 
     android:angle="270" /> 
    </shape> 
</item> 
<item android:state_selected="true" android:state_pressed="false"> 
    <color android:color = "#FF8800" /> 
</item> 
</selector> 
0

你不关闭你的XML标签

的问题是在这里

<item android:state_selected="true" android:state_pressed="false" 

删除之前的标签

<?xml version="1.0" encoding="utf-8"?> 

就这样 编辑删除空间的xmlns这样

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false" android:state_selected="false"/> 
    <color android:color = "#FF8800" /> 
<item android:state_pressed="true" > 
    <shape> 
    <gradient 
     android:startColor="#E77A26" 
     android:endColor="#E77A26" 
     android:angle="270" /> 
    </shape> 
</item> 
<item android:state_selected="true" android:state_pressed="false"/> 
    <color android:color = "#FF8800" /> 
</selector> 
+0

感谢能解决一个问题,不关闭XML标签 但我仍然得到错误 未绑定的前缀(3号线) – iamIcarus 2014-09-21 14:46:16

+0

与soution编辑重新复制XML – 2014-09-21 14:51:08

+0

感谢我编辑后仍然会出现此错误,即使我删除所有项目标记并使用空选择器进行编译,但我仍然遇到该问题 – iamIcarus 2014-09-21 15:08:54