2012-03-29 13 views
5

मैं रेडियोबटन के पाठ रंग को बदलने की कोशिश कर रहा हूं (जो कि एक एक्सएमएल लेआउट में परिभाषित है और इसे रेडियो ग्रुप में है) इसे चुनने पर।Android रेडियो बटन के लिए setTextColor का उपयोग कैसे करें?

जब मैं textcolor संपत्ति की स्थापना द्वारा ग्रहण एंड्रॉयड लेआउट संपादक में सीधे पाठ का रंग बदलने के लिए "@ रंग/लाल" (जो मैं strings.xml में परिभाषित), यह सिर्फ ठीक काम करता है, लेकिन जब मैं कोशिश के रूप में

myRadioButton.setTextColor(R.color.red); 

रनटाइम के दौरान प्रोग्राम के रूप में इस करने के लिए यह केवल रंग ग्रे, लाल करने के लिए नहीं के रूप में इरादा बदल जाता है।

R.color.red (@ रंग/लाल) सही ढंग से एक हेक्स मान के रूप में परिभाषित किया गया है ("# FF0000"), लेकिन यह लेआउट संपादक में लाल करने के लिए पाठ का रंग बदल जाते हैं, लेकिन नहीं एक जावा के माध्यम से करता है आदेश।

+0

उपयोग 'getResources() getColor (R.color.red)' बजाय 'R.color.red' –

+0

उत्तर के लिए धन्यवाद .. लेकिन जब इसका उपयोग करते हैं और बटन को अचयनित करते हैं तो रंग डिफ़ॉल्ट रंग पर वापस नहीं जाता है। इसे कैसे प्राप्त किया जा सकता है? – Ahmed

+0

'चेक किए गए चेंज()' में डिफ़ॉल्ट रंग में बदलने की कोशिश करें? –

उत्तर

13

अपने color.xml की तरह है अगर:

<color name="errorColor">#f00</color> 

और फिर इसे दिखाने के लिए इस कोड का उपयोग करें:।

myRadioButton.setTextColor(getResources().getColor(R.color.red)); 
+1

बस एक सिर ऊपर, getColor() को एपीआई 23 में बहिष्कृत कर दिया गया है, और अब हमारे पास ContextCompat.getColor (संदर्भ, R.color.your_color) है; – SanVed

4

वहाँ बहुत

myRadioButton.setTextColor(Color.RED); 
or 
myRadioButton.setTextColor(Color.rgb(red, green, blue)); 
// where red green and blue are the int values 

संपादित आप संसाधनों से प्राप्त करने के लिए तो getResources() का उपयोग करना चाहते हैं क्या करने के लिए कुछ अन्य तरीके हैं getColor (R.color.red)।

संबंधित मुद्दे