2011-08-15 9 views
5

प्राप्त करना संभव है क्या मुझे एक कस्टम आईडी देने के लिए एंड्रॉइड प्राप्त करना संभव है?एंड्रॉइड: एक कस्टम आर.आईडी

तो उदाहरण के लिए अगर मैं पहले से ही एक्सएमएल में परिभाषित किया है:

R.id.some_layout 
R.drawable.some_drawable 

इस

R.custom_id("a_custom_id") 

की तरह किसी भी समारोह है तो मैं तो के रूप में

R.id.a_custom_id 

उत्तर

16

आप गतिशील रूप से नई आईडी नहीं बना सकते हैं। भले ही R ऐसा करने में सक्षम था, आप R.id.a_custom_id का उपयोग करके इसे एक्सेस नहीं कर पाएंगे। जावा गतिशील भाषा नहीं है, और रनटाइम पर फ़ील्ड नहीं जोड़ सकता है।


हालांकि, संकलन-समय समाधान है।

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="a_custom_id"/> 
</resources> 

और फिर आप xmls में अपने कोड में R.id.a_custom_id और "@id/a_custom_id" देख सकते हैं: अपने res/values/ids.xml जोड़ें। बेशक इसकी अभी भी पूर्व परिभाषित आईडी (रनटाइम-परिभाषित आईडी के विपरीत)।

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