TextViewजब उपयोगकर्ता इसे छूता है तो मैं एंड्रॉइड विजेट की पृष्ठभूमि का रंग बदलने का प्रयास कर रहा हूं । मैंने उस उद्देश्य के लिए एक चयनकर्ता बनाया है, जो इसमें संग्रहीत है res/color/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:color="@color/semitransparent_white"
/>
<item
android:color="@color/transparent"
/>
</selector>
clickableकी विशेषता TextViewहै trueमामले ब्याज की है कि में,।
जब मैं इस चयनकर्ता को एक के TextViewरूप में असाइन करता android:background="@color/selector"हूं, तो मुझे रनटाइम पर निम्न अपवाद मिल रहा है:
ERROR / AndroidRuntime (13130): इसके कारण: org.xmlpull.v1.XmlPullParserException: बाइनरी एक्सएमएल फाइल लाइन # 6: टैग के लिए एक ड्रॉ करने योग्य 'ड्रॉबल' विशेषता या चाइल्ड टैग की आवश्यकता होती है
जब मैं विशेषता को ड्रा करने योग्य बनाता हूं, तो यह काम करता है, लेकिन परिणाम पूरी तरह से गलत दिख रहा है क्योंकि आईडी को रंग संदर्भों के बजाय छवि संदर्भों के रूप में व्याख्या किया गया है (जैसा कि "ड्रॉबल" बताता है)।
जो मुझे भ्रमित करता है वह यह है कि मैं एक रंगीन संदर्भ सेट कर सकता हूं, उदाहरण के लिए "@ रंग / काला", सीधे पृष्ठभूमि विशेषता के रूप में। यह उम्मीद के मुताबिक काम कर रहा है। चयनकर्ताओं का उपयोग करना काम नहीं करता है।
मैं चयनकर्ता का उपयोग textColorबिना किसी समस्या के भी कर सकता हूं ।
TextViewएंड्रॉइड में पृष्ठभूमि-रंग-चयनकर्ता को लागू करने का सही तरीका क्या है?