Сгенерируйте динамическую RadioGroup программно и установите на нейOnCheckedChangeListener

Я сделал ниже Код для отображения динамической радиогруппы и радиокнопок. Но я не могу понять, как проверить кнопку в setOnCheckedChangeListener() методе. Некоторое время несколько RadioButton будут нажимать на одну и ту же RadioGroup. Я не знаю как?

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.ll);

menuSize = 4;

for(i = 0; i < menuSize; i++)
{
    int menuId = controller.getMenuid(i));
    int subMenuSize = controller.getSubMenu(menuId).size();  // Dynamic value from MVC architechture

    TextView textViewHeading = new TextView(getApplicationContext()); // RadioGroup Heading
    textViewHeading.setText(controller.getMenuName(i));    // Set RadioGroup Heading

    linearLayout.addView(textViewHeading);

    RadioGroup radioGroup = new RadioGroup(getApplicationContext());
    radioGroup.setId(i);

    for(j = 0; j < subMenuSize; j++)
    {
        RadioButton radioButton = new RadioButton(getApplicationContext());

        radioButton.setId(j);

        // Get value from HashMap<Integer, ArrayList<SubMenuClass>>
        // Value is used for RadioButton
        radioButton.setText( controller.getSubMenu(menuId).get(j).getSubMenuName()); 

        radioGroup.addView(radioButton);
    }

    radioGroup.setOnCheckedChangeListener(TryRadioButtons.this);

    linearLayout.addView(radioGroup);
}

Я хочу проверить на ButtonSubmit Click, что каждая RadioGroup имеет один RadioButton, который должен быть проверен. Итак, как я могу получить этот RadioButton в ButtonSubmit ClickEvent?

Спасибо заранее


person Bhavesh Butani    schedule 30.03.2015    source источник
comment
Вы должны начать с линейного макета, как здесь, в первой строке, а затем перебрать его дочерние элементы.   -  person greenapps    schedule 30.03.2015
comment
Я хочу получить радиокнопки в методе setOnCheckedChangeListener ()   -  person Bhavesh Butani    schedule 30.03.2015
comment
Да, я знаю. Я это уже знал. Тебе не нужно повторять это снова. Что ты сделал с моим предложением?   -  person greenapps    schedule 30.03.2015
comment
Я решил это. В моем коде проблема в setId. Я установил для идентификатора значения i и j, которые когда-то могут быть одинаковыми. поэтому он будет проверять несколько радиокнопок в одной радиогруппе. Кстати, спасибо за ответ.   -  person Bhavesh Butani    schedule 31.03.2015


Ответы (2)


См. это…

Может быть, это поможет вам динамически получить радиокнопку

person realpranav    schedule 30.03.2015

делай так,

RadioGroup group = new RadioGroup(this); 
group.setOrientation(RadioGroup.HORIZONTAL);
RadioButton btn1 = new RadioButton(this);
btn1.setText("BTN1");
group.addView(btn1);
RadioButton btn2 = new RadioButton(this);
group.addView(btn2);
btn2.setText("BTN2");
.... 
RadioButton btnN = new RadioButton(this);
group.addView(btnN);
btnN.setText("BTNN");
yourLayout.addView(group);
person Jignesh Jain    schedule 30.03.2015