2013-12-16 11 views
6

सेट करें मैं RadioGroupRadioButton गतिशील रूप से बना रहा हूं और डिफ़ॉल्ट रूप से एक रेडियो बटन चेक करने की आवश्यकता है।डिफ़ॉल्ट चेक किए गए रेडियो बटन

मैं दोनों radioButton.setChecked(true) और radioButton.toggle();

समस्या मेरे पास है का उपयोग करके यह कर दिया है यह है कि जब मैं क्रम में एक और रेडियो बटन पहले एक तो जाँच रहता है मैं दोनों के साथ अंत रेडियो में जाँच रेडियो बटन का चयन करें समूह।

क्या किसी को भी यह समस्या है और इसे हल करने के बारे में पता है?

private RadioButton addRadioButton(String type, String price){ 
     RadioButton radio = new RadioButton(Order.this); 
     radio.setText(type + " (" + Utils.formatCurrency(price) + ")"); 
     radio.setTextAppearance(Order.this, R.style.portalCellTextStyle); 
     radio.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10); 
     radio.setTag(price); 

     if(type.toLowerCase().equals("m")) 
      radio.toggle(); 

     return radio; 
    } 
+0

क्या आप वाकई RadioGroup को दूर करने के radiobutton जोड़ने कर रहे हैं? – ridvanzoro

उत्तर

1

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

http://developer.android.com/resources/tutorials/views/hello-formstuff.html

नीचे स्क्रॉल करें और चेकबॉक्स दिखाई और टॉगल बटन।

रेडियो का उपयोग करते समय आप आमतौर पर एक से अधिक होते हैं और उनके बीच चयन करते हैं। आसान, मध्यम, कठिन की तरह।

radio.setChecked(true); 
+0

मैंने दोनों की कोशिश की और वे दोनों बटन जांचते हैं लेकिन बटन अभी भी चेक रहता है अगर मैं एक और – thehindutimes

+0

जांचता हूं तो क्या आप उन्हें एकल रेडियो समूह में जोड़ रहे हैं। – SilentKiller

0

आप रेडियो समूह में यह जाँच करनी चाहिए साथ

radio.toggle(); 

बदलें ...

radiogroup.check(IdOfYourButton) 
0

पहले से ही स्पष्ट बटन की जाँच करने के लिए clearCheck() फ़ंक्शन का उपयोग करें। मुझे आशा है कि यह आपकी समस्या हल करेगी।

0

ऐसा इसलिए हुआ क्योंकि मैंने ऑन-चेक्ड चेंजलिस्टर() को सेट करने के बाद सीधे रेडियो समूह पर चेक() विधि को कॉल किया और इसे किसी कारण से एनपीई फेंक दिया।

ऑन चेक किए गए चेंजलिस्टर() से पहले चेक() विधि कॉल को हटा दिया गया और यह अब काम करता है।

radios.check(2); 
radios.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
       @Override 
       public void onCheckedChanged(RadioGroup group, int checkedId) { 

       } 
      }); 

private RadioButton addRadioButton(String type, String price){ 
     RadioButton radio = new RadioButton(Order.this); 
     radio.setText(type + " (" + Utils.formatCurrency(price) + ")"); 
     radio.setTextAppearance(Order.this, R.style.portalCellTextStyle); 
     radio.setTextSize(TypedValue.COMPLEX_UNIT_SP, 10); 
     radio.setTag(price); 

     if(type.toLowerCase().equals("m")) 
      radio.setId(2); 

     return radio; 
    } 
1

आप इस बस कर सकते हैं:

जावा:

radiogroup =(RadioGroup)findViewById(R.id.radiogroup); 
    radiobutton1 =(RadioButton)findViewById(R.id.radiobutton1); 
    radiobutton2 =(RadioButton)findViewById(R.id.radiobutton2); 

    if(your first assessment){ 
     radiobutton1.setChecked(true); 
    }else{ 
     radiobutton2.setChecked(true); 
    } 

एक्सएमएल:

<RadioGroup 
     android:id="@+id/radiogroup" 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <RadioButton 
     android:id="@+id/radiobutton1" 
     android:checked="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

     <RadioButton 
     android:id="@+id/radiobutton2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    </RadioGroup> 
7

मैं जानता हूँ कि मुझे देर हो रही है, लेकिन जो लोग तरह जवाब के लिए खोज के लिए मैं यह उपयोगी हो सकता है।

जब आप एक RadioGroup को RadioButton जोड़ने के लिए, आप बटन माता-पिता के लिए यह की तरह जोड़ने के बाद जाँच सेट करना होगा: दृश्य माता-पिता में जोड़ने से पहले चेक किया गया है

RadioGroup radioGroup = new RadioGroup(getContext()) 
RadioButton radioButton = new RadioButton(getContext()); 
radioButton.setText("text"); 
mRadioGroup.addView(radioButton); 
radioButton.setChecked(true); 

है, यह करने के लिए असंभव हो जाएगा इसे अनचेक करें।

+0

मुझे हाल ही में एक ही समस्या का सामना करना पड़ा। धन्यवाद यह मदद की। –

2

सरल, पहली बार में लोड स्क्रीन की स्थिति की जाँच Getview विधि में और फिर शर्त लागू:

if (position == 0) { 
    holder.act_delivery_rbtn.setChecked(true); 
} 
संबंधित मुद्दे