2011-04-07 13 views
5

मेरे आवेदन में मेरे पास विजेट्स (सभी प्रकार के विजेट) का पैनल है, और बटन जो उपयोगकर्ता को पैनल में विजेट जोड़ने और निकालने की अनुमति देते हैं। प्रत्येक विजेट के अंदर एक जीडब्ल्यूटी रेडियो बटन समूह है। विजेट जीडब्ल्यूटी यूआईबिंडर का उपयोग करता है, और इसलिए मेरी ui.xml फ़ाइल में मैं प्रत्येक रेडियोबटन को समूह का नाम देता हूं ताकि वे एक साथ जुड़ जाएंगे।गतिशील रूप से कई जीडब्ल्यूटी रेडियोबटन समूह

यह एक समस्या बन जाती है, हालांकि, जब इस विजेट में से 2 या अधिक पैनल पैनल में जोड़े जाते हैं, क्योंकि सभी विगेट्स में सभी रेडियोबटनों का एक ही समूह नाम होता है। मैं प्रत्येक विजेट में प्रत्येक रेडियोबटन समूह को दूसरों से स्वतंत्र होना चाहता हूं। मैं यह कैसे कर सकता हूँ?

उत्तर

4

आप अपने विजेट निर्माता के लिए एक groupName पैरामीटर लागू कर सकते हैं, और फिर @UiFactory का उपयोग radiobuttons निर्माण करने के लिए:

private String groupName; 

public MyWidget(String groupName) { 
    this.groupName = groupName; 
    initWidget(uiBinder.createAndBindUi(this)); 
} 

@UiFactory 
RadioButton makeRadioButton() { 
    return new RadioButton(groupName); 
} 

makeRadioButton() आप UiBinder xml फ़ाइल में उपयोग करने वाले सभी अपने <g:RadioButton> s के लिए स्वचालित रूप से बुलाया जाएगा।

अब आप इनमें से प्रत्येक विजेट को गतिशील रूप से एक अलग रेडियो समूह नाम के साथ बना सकते हैं।

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