2012-11-14 19 views

उत्तर

31

सीधे शब्दों में Context#getString() का उपयोग करें:

String string = getString(android.R.string.cancel); 

मैं पहले से ही इस दृष्टिकोण की कोशिश की है, लेकिन कोई सफलता के साथ ... मैं एक वर्ग है: public class MyDialogFragment extends DialogFragment {

एक डायलॉगफ्रेगमेंट संदर्भ का उप-वर्ग नहीं है, इसलिए आप n एक वैध (जैसे आपकी गतिविधि की) तक पहुंच प्राप्त करने के लिए ईड। इस का उपयोग करें:

String string = getActivity().getString(android.R.string.cancel); 

या के रूप में अपने खोज की आप गतिविधि onAttach() में पारित उपयोग कर सकते हैं, लेकिन समझते हैं कि आप जब तक आप के साथ काम करने के लिए एक वैध प्रसंग है के रूप में एक टुकड़ा अंदर इस कहीं भी कर सकते हैं।

+0

मैंने पहले ही इस दृष्टिकोण की कोशिश की है लेकिन बिना किसी सफलता के ... लेकिन अब मुझे पता है कि मैं क्या गलत कर रहा था: मेरे पास एक वर्ग है: 'पब्लिक क्लास माईडियलोग फ्रैगमेंट डायलॉग फ्रैगमेंट {' और इस कक्षा के अंदर मैं कर रहा था: निजी स्ट्रिंग xbtAffirmativeLabel = getString (android.R.string.cancel); और यह समस्या है, मैं केवल एक विधि के अंदर ऐसा कर सकता हूं: सार्वजनिक शून्य (गतिविधि गतिविधि) पर सार्वजनिक शून्य {आपके समर्थन के लिए धन्यवाद, इससे मुझे इसका एहसास हुआ। – HugoXP

0

यह किसी भी एंड्रॉइड संसाधन को स्ट्रिंग में परिवर्तित करेगा। इस उदाहरण में मैंने 'R.color.myColor' का उपयोग किया है लेकिन यह किसी भी एंड्रॉइड संसाधन प्रकार के साथ काम करेगा।

colors.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="btnDialBgColor">#00BFA5</color> 
    <color name="btnDialBgColorActive">#C51162</color> 
</resources> 

TypedValue typedValueActive = new TypedValue(); 
TypedValue typedValue = new TypedValue(); 
getResources().getValue(R.color.btnDialBgColorActive, typedValueActive, true); 
getResources().getValue(R.color.btnDialBgColor, typedValue, true); 

आशा इस मदद करता है।

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

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