कहें कि मेरे पास एंड्रॉइड एप्लिकेशन, 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") केवल गतिविधि (या लेआउट?) के दायरे में अद्वितीय होना चाहिए।
मेरे परीक्षण से, यह काम पर प्रतीत होता है, लेकिन मुझे लगता है कि इस दृष्टिकोण और अस्पष्ट लेआउट तत्व आईडी के उपयोग के लिए एक अनजाने दुष्प्रभाव होगा। क्या कोई यह पुष्टि कर सकता है कि यह एक सुरक्षित अभ्यास है और/या इंगित करता है कि यह अंततः मेरे आवेदन को कैसे उड़ाएगा? क्या किसी ने कभी भी इसी तरह की चीजें की हैं?
आपके अनुभव को साझा करने के लिए धन्यवाद। चूंकि मैं अभी भी एंड्रॉइड दुनिया में काफी नया हूं, इसलिए कभी-कभी समझदारी होती है कि एक साधु दृष्टिकोण क्या है। – el2iot2