2012-11-12 35 views
7

में xml फ़ाइल में संदर्भ के लिए मैं एंड्रॉयड प्रोग्रामिंग और चाहते करने के लिए नया हूँ यह जानते: कैसे प्रोग्राम के रूप में एंड्रॉयड

मैं 3 तार strings.xml फ़ाइल में परिभाषित किया गया है: <resources> <string name="one">First Click </string> <string name="two">Second Click </string> <string name="three">Third Click </string> <resources>

और एक पाठ दृश्य जो strings.xml फ़ाइल में पहली स्ट्रिंग प्रदर्शित करता है। जब मैं बटन पर क्लिक करता हूं तो टेक्स्ट दृश्य के टेक्स्ट को बदलने के लिए settext("******") का उपयोग नहीं करना चाहता हूं। कैसे मैं पाठ पहले से ही strings.xml फ़ाइल में परिभाषित करने के लिए TextView स्विच कर सकते हैं,

से दूसरे करने के लिए प्रथम क्लिक क्लिक करें

+2

आप सेटटेक्स्ट ("***") के बिना टेक्स्ट (गतिशील) के पाठ को नहीं बदल सकते हैं, इसलिए आपको ऐसा करना होगा। ... –

+1

टेक्स्टव्यू को बटन कैसे पता चलेगा क्लिक किया गया था? बटन कैसे पता चलेगा कि टेक्स्टव्यू स्ट्रिंग धारण कर रहा है? –

उत्तर

1

आवेदन के संसाधन प्राप्त करें, और उसके बाद प्राप्त कहते हैं कि एक जिस आईडी को आप ढूंढ रहे हैं उसके साथ स्ट्रिंग करें।

getResources().getString(R.string.one); 
+0

pls ... आईडी एक चर हो सकता है .... यदि नहीं ... मैं एक चर का उपयोग कैसे निर्धारित कर सकता हूं यह निर्धारित करने के लिए कि कौन सी स्ट्रिंग प्रिंट करना है? – thunderson

+0

आईडी केवल एक पूर्णांक है जो स्वत: संकलित आर फ़ाइल द्वारा निर्दिष्ट स्मृति में एक बिंदु का संदर्भ देता है। आप एक पूर्णांक चर का उपयोग कर सकते हैं, लेकिन संभावना है कि स्मृति में बिंदु बदल जाएगा, और आपके तार सभी मिश्रित हो जाएंगे। उदाहरण के लिए, R.string.one 0x7f06000b एक रन हो सकता है, और अगले 0x7c0af0cb हो सकता है। आप हमेशा एक स्विच (var) {case:} कथन का उपयोग कर सकते हैं। –

15

उपयोग setText(getResources().getString(R.string.one));

+0

। आपको बहुत धन्यवाद .... लेकिन ऐसे मामले में जहां स्ट्रिंग्स.एक्सएमएल फ़ाइल में बहुत सारे स्ट्रिंग निर्दिष्ट हैं, क्या कोई तरीका है जो एक चर का उपयोग करने के लिए स्ट्रिंग को निर्धारित करने के लिए किया जा सकता है .... उदाहरण के लिए setText (getResources()। getString (R.string.VARIABLE)); या ऐसा कुछ ... ताकि यह विभिन्न ग्रंथों को दिखा सके .. – thunderson

+0

मैं आपको समझ नहीं सकता, आप क्या चाहते हैं। कृपया यहां एक छोटा सा उदाहरण पोस्ट करें। यदि आप मेरे उत्तर के लिए संतुष्ट हैं, तो कृपया मेरे उत्तर पर टिक चिह्न देखें। –

2

मुझे तुम्हारी जरूरत है इस अगर मैं कर रहा हूँ गलत तो मेरे पास वापस पाने के बारे में सोचो।

इसे आजमाएं।

getResources().getString(R.string.app_name); 

आप बस अपने आवेदन के संसाधन को पढ़ने है.आप संसाधन कक्षा की getResources() करके आपके ऐप्लिकेशन के किसी भी संसाधन का उपयोग कर सकते हैं।

अब, आपको स्ट्रिंग फॉर्म String.xml पढ़ने की आवश्यकता है ताकि आप getString() का उपयोग कर सकें जो संसाधन की विधि है ताकि आपको अपना आउटपुट मिल सके।

+0

आपको बहुत बहुत धन्यवाद .... लेकिन ऐसे मामले में जहां स्ट्रिंग में निर्दिष्ट कई स्ट्रिंग हैं।xml फ़ाइल, क्या एक चर का उपयोग करने के लिए स्ट्रिंग को निर्धारित करने के लिए एक चर का उपयोग किया जा सकता है .... उदाहरण के लिए setText (getResources()। getString (R.string.VARIABLE)); या ऐसा कुछ ... ताकि यह विभिन्न ग्रंथों को दिखा सके ... कुछ उपयोगकर्ता क्रियाओं के आधार पर ... – thunderson

+0

क्या आप उदाहरण दे सकते हैं कि किस प्रकार का उपयोगकर्ता इनपुट स्ट्रिंग बदल सकता है। इसका मतलब है कि किस प्रकार का इनपुट जो मेरी आउटपुट स्ट्रिंग को बदल सकता है। –

-2

यह आपको वांछित प्रभाव देना होगा:

yourEditText.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View view) { 

     String text = yourEditText.getText().toString(); 
     if(text.equals(getResources().getString(R.string.one)) { 

      yourEditText.setText(getResources().getString(R.string.two) 
     } else if(text.equals(getResources().getString(R.string.two)) { 

      yourEditText.setText(getResources().getString(R.string.three) 
     } else { 

      yourEditText.setText(getResources().getString(R.string.one) 
     } 
    }); 
+0

** मैं settext ("******") का उपयोग नहीं करना चाहता ** ** क्या आपने इसे प्रश्न में पढ़ा? –

+0

आप settext() का उपयोग क्यों नहीं करना चाहते हैं? और कोई रास्ता नहीं है। –

+0

मैं मुद्रित करने के लिए स्ट्रिंग निर्धारित करने के लिए एक चर का उपयोग करना चाहता हूं .... यानी। एक चर जो यह निर्धारित करेगा कि स्ट्रिंग्स.एक्सएमएल फ़ाइल में पहली स्ट्रिंग या अंतिम स्ट्रिंग इत्यादि मुद्रित की जानी चाहिए – thunderson

4

निर्धारित करने के लिए आप एक स्विच का उपयोग करना होगा जो स्ट्रिंग आप एक चर के साथ प्रयोग के रूप में नीचे

switch(anyInt) { 
    case 1://if the int == 1, then the textview will be set to this 
     tv.setText(getResources().getString(R.string.one); 
     break; 
    case 2://if the into == 2 then the TV will be set to this 
     tv.setText(getResources().getString(R.string.two 
     break; 
    default: 
     tv.setText("into does not have value 1-2") 
} 

इनमें से कई के रूप में जोड़ें, बयान आपको चाहिए, मुझे विश्वास है कि यह बहुत मेमोरी कुशल है, भले ही आपके पास बहुत सारे कथन

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