क्रमिक रूप से R.id में id जोड़ें


89

मैं एक EditTextऑब्जेक्ट बना रहा हूं जिसे मैं एक यूनिट टेस्ट में संदर्भित करने का प्रयास करता हूं। क्या सबसे अच्छा तरीका है एक नया जोड़ने के लिए है idकरने के लिए R.idइस डायनामिक रूप से तैयार वस्तु के लिए है कि मैं बाद में के माध्यम से इसे संदर्भित कर सकते हैं, तो findViewById()इकाई परीक्षण में?


जवाबों:


208

आप एक xml संसाधन फ़ाइल का उपयोग करके ID का उपयोग कर सकते हैं। बाद में आप R.id वर्ग में उपयोग कर सकते हैं, और Android SDK को कंप्लायंस समय के दौरान उन्हें विशिष्ट मान दे सकते हैं।

res / values ​​/ ids.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <item name="my_edit_text_1" type="id"/>
    <item name="my_button_1" type="id"/>
    <item name="my_time_picker_1" type="id"/>

</resources>

कोड में इसका उपयोग करने के लिए:

myEditTextView.setId(R.id.my_edit_text_1);

1
क्या मैं फ़ाइल को अन्यनाम। xml कह सकता हूं?
ofir_aghai

2
देर से जवाब के लिए क्षमा करें, लेकिन हाँ, सभी Android संसाधनों के साथ, आप उस .xml को वैसे भी नाम दे सकते हैं ...
छिपा हुआ Android

1

आप Google डेवलपर के आधार पर हर दृश्य के लिए setId का उपयोग कर सकते हैं और कोई भी सकारात्मक संख्या निर्दिष्ट कर सकते हैं:

इस दृश्य के लिए पहचानकर्ता सेट करता है। इस दृश्य के पदानुक्रम में पहचानकर्ता का विशिष्ट होना आवश्यक नहीं है। पहचानकर्ता एक सकारात्मक संख्या होनी चाहिए। संपर्क

तो आप उपयोग कर सकते हैं

EveryView.setId(int);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.