2011-01-31 17 views
7

को पुनर्प्राप्त करने के लिए कैसे करें मेरे पास कई एडिटटेक्स के साथ एक फॉर्म है, और जब मैं एक निश्चित बटन दबाता हूं, तो मुझे इन सभी नियंत्रणों को पुनर्प्राप्त करने और उन्हें हैश मैप में डालना होगा ताकि कुंजी नाम (key1 int निम्नलिखित कोड हो)एडिटटेक्स्ट की एक्सएमएल आईडी

<EditText android:id="@+id/key1" 
     style="@style/keys" /> 

और मूल्य, उपयोगकर्ता जो भी पाठ दर्ज करता है।

मेरा सवाल है, मैं हैशमैप की चाबियों के लिए EditText का नाम कैसे प्राप्त कर सकता हूं? getId() एक संख्या देता है।

धन्यवाद

+1

आप उस नाम का उपयोग करने की क्या योजना बना रहे हैं? 'FindViewById()' जैसे तरीके पैरामीटर के रूप में आईडी 'int' स्वीकार करते हैं। –

+0

किसके खोज देखें ViewById? मैंने एडिटटेक्स्ट, स्क्रॉलव्यू से लोगों की कोशिश की और लेआउट का निर्माण किया और उनमें से सभी संपादन टेक्स्ट के संदर्भ में लौट आए (उदाहरण के लिए [email protected])। – xain

उत्तर

2

मैंने अंत में एंड्रॉइड का उपयोग करके इसे हल किया: टैग और getTag()

3

एंड्रॉयड R.java में है कि देखें जब भी आप अपनी परियोजना के निर्माण के लिए एक संभाल उत्पन्न करता है। उदाहरण के लिए, एक बार जब आप निर्माण करते हैं तो आप R.id.key1 पर कॉल करके अपने संपादन टेक्स्ट तक पहुंच सकते हैं। आपको कहीं भी आईडी को स्टोर करने की आवश्यकता नहीं है क्योंकि आप सीधे अपने कोड में आईडी तक पहुंच सकते हैं। इस आईडी के साथ आप findViewById() को dave.c पर कॉल कर सकते हैं जो आपको अपने एक्सएमएल से जो भी दृश्य चाहिए उसे प्राप्त करने के लिए उल्लेख करता है।

+0

आपके उत्तर के लिए धन्यवाद। अगर मुझे वेब सेवा में जोड़ी कुंजी/मान भेजने की ज़रूरत है तो क्या होगा? ऐसे मामले में मुझे हमेशा एक जैसा होना चाहिए, और अधिमानतः एक "पठनीय", जैसा कि वेब रूपों में किया गया है। – xain

+1

@Xain: यदि आपको हमेशा ऐसा ही होना चाहिए तो आपको यह सुनिश्चित करना होगा कि आप इसे बदल नहीं सकते हैं। आप डेवलपर के आईडी पर पूर्ण नियंत्रण रखते हैं। ऐसा कहा जा रहा है कि मैं एक webservice की कुंजी के लिए आईडी का उपयोग करने से बचूंगा। इसके बजाय मैं कुछ सार्वजनिक सेवा कुंजी के साथ समूहित सार्वजनिक स्थैतिक स्ट्रिंग की तरह कुछ उपयोग करूंगा - शायद एक स्थिर वर्ग जैसे WebServiceKeys में। दृश्य आईडी इस उद्देश्य के लिए नहीं हैं। – McStretch

+0

ठीक है, आपके पास आईडी पर ** पूर्ण ** नियंत्रण नहीं है क्योंकि एंड्रॉइड आपके लिए 'int' आईडी उत्पन्न करता है, और जब आप आइटम जोड़ते और निकालते हैं तो ये बदल सकते हैं। मैं मानता हूं कि @xain को इन इनपुट के लिए अपनी चाबियाँ बनाए रखना चाहिए। –

0

असल में, getId() घटक आईडी का पूर्णांक मान है, यह आर जेनरेटेड क्लास में वर्णित जैसा है।

आपको वास्तविक नाम की आवश्यकता है जैसा आपने लिखा था? यदि आपको केवल एक संदर्भ की आवश्यकता है तो int मान पर्याप्त है।

+0

आपके उत्तर के लिए धन्यवाद, कृपया पिछले जवाब में थ्रेड पढ़ें। – xain

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