android - सबस - विषय याद करने का तरीका




एंड्रॉइड रेडियो ग्रुप के चयनित इंडेक्स को सेट करें (4)

आप रेडियो समूह से देख सकते हैं ViewById।

((RadioButton)my_radio_group.findViewById(R.id.radiobtn_veg)).setChecked(true);`

क्या बच्चे रेडियो रेडबूटन के माध्यम से लूपिंग और चयनित इंडेक्स पर रेडियो बटन की जांच करने के अलावा, एंड्रॉइड में रेडियो ग्रुप के चयनित इंडेक्स को सेट करने का कोई तरीका है?

नोट: मैं रन टाइम पर रेडियो बटन समूह को पॉप्युलेट कर रहा हूं।


प्रश्न ने कहा "चयनित INDEX सेट करें", यहां इंडेक्स द्वारा इसे सेट करने का तरीका बताया गया है:

((RadioButton)radioGroup.getChildAt(index)).setChecked(true);

........

अतिरिक्त जानकारी: ऐसा लगता है कि Google चाहता है कि आप इंडेक्स के बजाय आईडी का उपयोग करें, क्योंकि आईडी का उपयोग करना अधिक बग सबूत है। उदाहरण के लिए, यदि आपके रेडियो ग्रुप में कोई अन्य UI तत्व है, या यदि कोई अन्य डेवलपर रेडियोबूटन को फिर से ऑर्डर करता है, तो सूचकांक बदल सकते हैं और आपकी अपेक्षा की जा सकती नहीं है। लेकिन अगर आप एकमात्र डेवलपर हैं, तो यह बिल्कुल ठीक है।


यह मेरे लिए काम किया, मैंने गतिशील रूप से रेडियो बटन बनाया

  private void createRadioButton() {

    RadioButton[] rb = new RadioButton[5];

    RadioGroup.LayoutParams layoutParams = new RadioGroup.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT,
            1.0f);

    radioGroup.setOrientation(RadioGroup.HORIZONTAL);

    for (int ID = 0; ID < 5; ID++) {
        rb[ID] = new RadioButton(this);
        rb[ID].setLayoutParams(layoutParams);
        rb[ID].setText("Button_Text");
        radioGroup.addView(rb[ID]); //the RadioButtons are added to the radioGroup instead of the layout
    }
}

अब एक बटन का प्रयोग करें,

int radio_button_Id = radioGroup.getChildAt(index).getId();

radioGroup.check( radio_button_Id );

सियाश का जवाब सही है:

((RadioButton)radioGroup.getChildAt(index)).setChecked(true);

लेकिन ध्यान रखें कि एक रेडियो समूह में रेडियोबटन के अलावा अन्य विचार हो सकते हैं - इस उदाहरण की तरह जिसमें प्रत्येक विकल्प के तहत एक बेहोशी रेखा शामिल है।

<RadioGroup
    android:id="@+id/radioKb"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <RadioButton
        android:id="@+id/kb1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:button="@null"
        android:drawableRight="@android:drawable/btn_radio"
        android:text="Onscreen - ABC" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#33000000" />

    <RadioButton
        android:id="@+id/kb2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:button="@null"
        android:drawableRight="@android:drawable/btn_radio"
        android:text="Onscreen - Qwerty" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#33000000" />

    <RadioButton
        android:id="@+id/kb3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:button="@null"
        android:drawableRight="@android:drawable/btn_radio"
        android:text="Standard softkey" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#33000000" />

    <RadioButton
        android:id="@+id/kb4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:button="@null"
        android:drawableRight="@android:drawable/btn_radio"
        android:text="Physical keyboard" />

    <View
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#33000000" />

</RadioGroup>

इस मामले में 1 की अनुक्रमणिका का उपयोग करके, उदाहरण के लिए, एक त्रुटि उत्पन्न होगी। इंडेक्स 1 पर आइटम पहली विभाजक रेखा है - एक रेडियो बटन नहीं। इस उदाहरण में रेडियोबटन इंडेक्स 0, 2, 4, 6 पर हैं।





android-radiobutton