Question

S'il vous plaît aidez-moi sur celui-ci, je tente de produire 2 boutons radio dans A pour une boucle de manière dynamique en fonction de l'entrée de l'utilisateur waht je veux avoir des boutons radio comme

* Bouton radio1 * RadioButton2

* Bouton radio1 * RadioButton2

* Bouton radio1 * RadioButton2

* Bouton radio1 * RadioButton2

. . .

.

Et ainsi de suite .. en fonction de la boucle!

Voici le snippet de mon code que c'est fonctionner pour seulement 2 boutons radio d'une rangée que lorsque j'augmente la valeur du nombre de comptes..Je reçois une erreur de temps d'exécution Android d'un enfant de radiogroupe ayant déjà un parent.: S

List<RadioGroup> allradioGroup = new ArrayList<RadioGroup>();
RadioGroup radioGroup;

List<RadioButton> allRadio = new ArrayList<RadioButton>();
RadioButton radioButton;

        for (int i = 0; i < count; i++) {

        /* Defining RadioGroup */
        radioGroup = new RadioGroup(this);
        radioGroup.setOrientation(RadioGroup.HORIZONTAL);

        allradioGroup.add(radioGroup);


        /* Displaying Radio Buttons */
        for (int j = 0; j < 2; j++) {
            radioButton = new RadioButton(this);
            radioButton.setTextColor(getResources().getColor(R.color.grey));
            radioButton.setId((j + 100));

            allRadio.add(radioButton);

            if (allRadio.get(j).getId() == 100) {
                radioButton.setText("private");
            } else if (allRadio.get(j).getId() == 101) {
                radioButton.setText("public");
            }

                allradioGroup.get(i).addView(allRadio.get(j), j,
                        layoutParams);
        }

        linear.addView(allradioGroup.get(i));

    }

S'il vous plaît aider.Merci

Était-ce utile?

La solution

Votre problème est cette ligne: "Allradiogroup.get (i) .Addview (ALLRADIO.GET (J), J, LayOutParams);"

Le paramètre J sera compris dans la plage 0-1, également lorsque vous créez votre deuxième ligne.Vous essayez d'utiliser allradio.get (j) qui sur la deuxième exécution retournera le premier bouton radio que vous avez créé (qui a déjà un parent).Pour résoudre ce problème, remplacez "J" avec: "I * 2 + J".Cela devrait le réparer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top