Динамическое добавление радиокнопок к разрывам радиогруппы Взаимоисключающий выбор - PullRequest
0 голосов
/ 03 октября 2018

Это внутри пользовательского класса представления, который расширяет RelativeLayout, а не внутри Activity или Fragment.Мой RadioGroup существует в моем xml, и я пытаюсь динамически добавить RadioButtons к нему.Единственный раз, когда я видел это, где взаимная исключительность не работает, это если вы не добавляете идентификатор, но я здесь.Что происходит, когда я нажимаю переключатель, выбирается более 1 кнопки одновременно.Чего мне здесь не хватает?

 for(String buttonName : mButtonNames){

         RadioButton radioButton = new RadioButton(getContext());

         radioButton.setId(ViewCompat.generateViewId() );
         radioButton.setText(buttonName);

         LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
         layoutParams.weight = 1;
         radioButton.setLayoutParams(layoutParams);

         radioButton.setBackground(mRadioBckgrdDrawable);
         radioButton.setButtonDrawable(null);
         radioButton.setGravity(Gravity.CENTER);

         radioButton.setTextSize(mTextSize);
         radioButton.setTextColor(mTextColor);

         mRadioGroup.addView(radioButton);
 }

Фон для рисования:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- When selected-->
    <item android:drawable="@drawable/two_stage_toggle_button_on"
        android:state_checked="true" />
    <!-- When not selected-->
    <item android:drawable="@drawable/two_stage_toggle_button_off"
        android:state_checked="false"/>
</selector>
...