2014-09-21 2 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

Как предложил Надир B, вы не закрывал тег правильно, к сожалению, он предложил неправильное решение.

Пункт должен обернуть элемент цвета (<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"?> 

делать как этот EDIT удалить пространство в 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

+0

отредактированный с soution переписывание XML- –

+0

спасибо я все равно получите эту ошибку после редактирования, даже если я удалю все теги элементов и скомпилирую с помощью пустого селектора, я все равно получаю эту проблему – iamIcarus

Смежные вопросы