2010-07-27 17 views
7

कहें कि मेरे पास एंड्रॉइड एप्लिकेशन, EditPerson और EditEmployee में दो गतिविधियां हैं।क्या एंड्रॉइड व्यू की आईडी कई गतिविधियों में सुरक्षित रूप से साझा की जा सकती है?

EditPerson गतिविधि EditEmployee गतिविधि के लिए मूल श्रेणी होनी चाहिए और लेआउट में परिभाषित दृश्यों से मार्शल डेटा को परिभाषित करने के तरीकों को परिभाषित करना प्रतीत होता है। EditPerson गतिविधि का कार्यान्वयन EditText तत्व से और उसके लिए "नाम" फ़ील्ड को धक्का देगा (उदाहरण के लिए)। EditEmployee संस्करण बेस क्लास संस्करण को कॉल करेंगे, और फिर मार्शल अपने विशेष फ़ील्ड (टैक्स आईडी इत्यादि कहें)।

साझा कोड को सुविधाजनक बनाने के लिए, दोनों गतिविधियों में एक लेआउट संसाधन होना चाहिए जो EditText तत्वों के एक या अधिक जोड़े को परिभाषित करता है जो समान आईडी साझा करते हैं। layout\edit_person.xml में यानी वहाँ होगा:

<EditText android:id="@+id/name_editor" /> 

और फिर layout\edit_employee.xml में की तरह कुछ होगा:

<EditText android:id="@+id/name_editor" /> 
<EditText android:id="@+id/tax_id_editor" /> 
<!-- etc. --> 

"कर्मचारी" के बाद से एक "व्यक्ति" है, और आम में क्षेत्र (मार्शल हैं विरासत के माध्यम से), ऐसा लगता है कि आईडी निर्दिष्ट (उपरोक्त उदाहरण में "name_editor") केवल गतिविधि (या लेआउट?) के दायरे में अद्वितीय होना चाहिए।

मेरे परीक्षण से, यह काम पर प्रतीत होता है, लेकिन मुझे लगता है कि इस दृष्टिकोण और अस्पष्ट लेआउट तत्व आईडी के उपयोग के लिए एक अनजाने दुष्प्रभाव होगा। क्या कोई यह पुष्टि कर सकता है कि यह एक सुरक्षित अभ्यास है और/या इंगित करता है कि यह अंततः मेरे आवेदन को कैसे उड़ाएगा? क्या किसी ने कभी भी इसी तरह की चीजें की हैं?

उत्तर

6

यह सामान्य और उपयोग करने के लिए ठीक है। विशेष रूप से इरादा जब आप कोड/कक्षाओं का पुन: उपयोग करना चाहते हैं, लेकिन विभिन्न लेआउट का उपयोग करें।

+0

आपके अनुभव को साझा करने के लिए धन्यवाद। चूंकि मैं अभी भी एंड्रॉइड दुनिया में काफी नया हूं, इसलिए कभी-कभी समझदारी होती है कि एक साधु दृष्टिकोण क्या है। – el2iot2

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

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