Ich habe ein Problem mit benutzerdefinierten Attributen. bitte helfen ..Android selector.xml mit benutzerdefinierten Attributen werfen XmlPullParserException
Ich habe definiert benutzerdefinierte Attribute in attr.xml
<attr format="reference" name="btnPressed" />
<attr format="reference" name="btnNormal" />
und ich habe ein Thema
<style name="MyTheme" parent="@style/Theme.Sherlock.Light.NoActionBar">
<item name="btnPressed">@drawable/fav_icon</item>
<item name="btnNormal">@drawable/not_fav_icon</item>
</style>
In oben fav_icon und not_fav_icon bekam sind meine Bilder.
Ich habe einen Selektor favorite_btn.xml für die Umschaltfläche definiert.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="?attr/btnPressed"/>
<item android:state_checked="false" android:drawable="?attr/btnNormal"/>
<item android:drawable="?attr/btnNormal"/>
</selector>
Jetzt stelle ich den Selektor auf meine Umschalttaste.
<ToggleButton
android:id="@+id/station_fav_star"
android:layout_width="42dip"
android:layout_height="42dip"
android:background="@drawable/favorite_btn"
android:textOff=""
android:textOn="" />
Und ich bin das Thema auf meine Tätigkeit anwenden. Aber ich bekomme Xml Parse Exception wie unten erwähnt.
Verursacht durch: org.xmlpull.v1.XmlPullParserException: Binary XML-Datei Zeile # 11: Tag erfordert einen ‚ziehbar‘ -Attribut oder Kind-Tag definiert ein ziehbar
ich die gleiche Methode tue für die Verwendung benutzerdefinierter Attribute Stellen Sie die Bilder auf normale Tasten und es funktioniert. Aber wenn benutzerdefinierte Attribute in Selektoren definiert sind, funktioniert es nicht.
Bitte lassen Sie mich wissen, wenn ich etwas vermisse.
Ich habe überprüft bereits auf diesen Link Android color selector doesn't work with custom attributes
, dass es für Farbänderungen erklärt. In meinem Fall sind sie drawables. Wenn es einen anderen Weg gibt, schlagen Sie bitte die Lösung vor.
Vielen Dank im Voraus ..
Haben Sie eine Lösung für dieses Problem gefunden? – Anderson
Ich habe dafür keine Lösung gefunden. Daher verwende ich Zeichen anstelle von benutzerdefinierten Attributen in der Auswahl. – vijaykumarg