दूसरा दृष्टिकोण और अधिक सुरुचिपूर्ण, आंतरिक रूप से के बाद से, TextView
(या जो भी View
स्तरीय) होने का काम करेगा है? आपके निर्दिष्ट संसाधन के लिए स्ट्रिंग।
घटकों को आंतरिक काम करना हमेशा पसंद किया जाता है। इसके अलावा, यह छोटा और अधिक पठनीय है।
internals मैं के बारे में बात के बारे में: आप Androids स्रोत-कोड पर एक नजर है, तो आप देख सकते हैं कि setText(int)
की -method TextView
is implemented like this:
public final void setText(int resid) {
setText(getContext().getResources().getText(resid));
}
इसलिए, यह आंतरिक रूप से उपयोग करता है संसाधन-आईडी से स्ट्रिंग प्राप्त करने के लिए Context
-class। अब, अगर आप getText()
-method (जो भी Context
श्रेणी से आता है) को देखो, आप देख सकते हैं कि यह is implemented the same way:
public final String getString(int resId) {
return getResources().getString(resId);
}
तो प्रदर्शन या विश्वसनीयता कारणों के लिए, यह कोई फर्क नहीं पड़ता। फिर भी, यह छोटा और अधिक पठनीय है।
स्रोत
2012-04-12 09:28:17
धन्यवाद, बिल्कुल सही! –
@Shamrflow मैंने एंड्रॉइड स्रोत से दिखाने के लिए कुछ कोड के साथ उत्तर अपडेट किया, यह एक ही तरीके से लागू किया गया है। एक नज़र देख लो। –
लुकास, यहां तक कि बेहतर भी धन्यवाद। मैंने देखा है कि यह सेटटिटल और अलर्टबिल्डर में सेट मैसेज और कुछ अन्य वर्गों के लिए भी सच है। चीयर्स! –