आईडी एक अद्वितीय संदर्भ नहीं है।
हालांकि, व्यावहारिक रूप से, आप मूल दृश्य का उपयोग करके अंतर करते हैं।
यदि हम विचार है कि 'इस' एक गतिविधि एक लेआउट है कि आपके बटन होते हैं, तो साथ सेट अप है,:
Button button = (Button) this.findViewById(R.id.id_name);
पहले एक यह लेआउट में पाता है वापस आ जाएगी (मुझे लगता है कि - यकीन नहीं वास्तविक व्यवहार परिभाषित किया गया है)।
हालांकि आप जो कुछ कर सकते हैं वह कुछ माता-पिता दृश्य पर findViewById
पर कॉल करता है जिसमें उस आईडी के साथ केवल एक ऐसा उदाहरण होता है।
LinearLayout okParent = (LinearLayout) this.findViewById(R.id.okLayout);
LinearLayout cancelParent = (LinearLayout) this.findViewById(R.id.cancelLayout);
Button okButton = (Button) okParent.findViewById(R.id.id_name);
Button cancelButton = (Button) cancelParent.findViewById(R.id.id_name);
संकल्पनात्मक रूप से, यह पथ आधारित लुकअप का एक प्रकार है। आपको अपने लेआउट डिज़ाइन करने के लिए सावधान रहना चाहिए ताकि यह संभव हो।
स्रोत
2013-02-07 19:21:16
slick! एंड्रॉइड द्वारा लिया गया बहुत अच्छा तरीका – Archit