2012-12-15 5 views
16

पर एक्सएमएल का उपयोग करके प्रोग्रामेटिक रूप से विचार बनाएं, मैं एक्सएमएल में यूआई लेआउट बनाना चाहता हूं और इसे एक बच्चे के रूप में मौजूदा दृश्य में डाला है (इसे कई बार डाला जाएगा)।एंड्रॉइड

उदाहरण के लिए, यहाँ क्या एक्सएमएल फ़ाइल में शामिल होंगे है:

<RelativeLayout 
    android:id="@+id/relativeLayout1" > 
    <Button android:id="@+id/myButton" 
     android:text="@string/mystring" /> 
</RelativeLayout> 

अब मैं माता पिता LinearLayout हो और अब एक बच्चे के दृश्य के रूप में है कि एक्सएमएल फ़ाइल जोड़ना चाहते हैं, उदाहरण के लिए:

LinearLayout linear = (LinearLayout)findViewById(R.id.myLayout); 
//need to create a view object from the xml file 
linear.addView(myXmlObject); 

क्या एक XML संसाधन को दृश्य प्रकार में परिवर्तित करना संभव है? यदि हां, तो मैं यह कैसे करूं?

+1

@ एरिक ओह वाह, मुझे याद आया। लेकिन रुकें! – Sam

+1

@ सैम मैंने कैसे किया ... मैं बस ... ठीक है, तुमने मुझे पूरी तरह से स्वामित्व में रखा है। – Eric

+0

यह आपके जैसा मुझे लगता है कि आपको शायद किसी प्रकार के एडाप्टर की तलाश करनी चाहिए। – FoamyGuy

उत्तर

61

मुझे विश्वास है कि आप LayoutInflater चाहते हैं। आइए मान लें कि आपका उदाहरण एक्सएमएल custom_layout.xml में है:

LayoutInflater inflater = LayoutInflater.from(context); 
RelativeLayout layout = (RelativeLayout) inflater.inflate(R.layout.custom_layout, null, false); 

LinearLayout linear = (LinearLayout)findViewById(R.id.myLayout); 
linear.addView(layout); 
+0

धन्यवाद दोस्त। आपने अपना समय बचाया –

+0

आपने बटन क्लिक को कैसे संभाला? मेरा मतलब है कि प्रत्येक पंक्ति के बटन क्लिक पर एक अलग कार्य होता है। – user4057066