Это внутри пользовательского класса представления, который расширяет 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>