0
votes

Besoin d'aide Ajout de valeurs de boutons radio et de textes

J'ai créé une application dans Android Studio qui utilise des boutons radio regroupés dans des groupes de boutons radio et des cases à cocher, chacune d'une valeur qui est enregistrée lorsqu'un bouton radio ou une case à cocher spécifique est cliqué. Actuellement, il existe un bouton Calculer qui, lorsque cliqué sur Appelle une méthode Submitorder () et totalise la somme de tous les boutons radio et cases à cocher sélectionnés et l'affiche à l'écran avec un message. Cela fonctionne juste bien. Je veux éliminer complètement le bouton Calculer et avoir la somme autocalculée et rafraîchie en temps réel lorsque l'utilisateur clique sur n'importe quel bouton radio ou combinaison de boutons radio et de coches. J'ai cherché loin sur le débordement de la pile et sur Google et n'a pas trouvé d'exemples ou de recommandations utiles sur la méthode de l'appel de Submitère () dans le code Java lui-même. J'ai essayé toutes sortes d'itérations, mais pas de succès. Toute recommandation serait grandement appréciée.

J'ai essayé d'ajouter la méthode Submitorderder () dans le code associé à chaque bouton radio ou à la case, mais pas de succès p>

// le code suivant est requis pour Les groupes radio pour fonctionner sans provoquer une erreur P>

  private int calculatePrice(boolean addRadioOne, boolean addRadioTwo,                    boolean addRadioThree,boolean addRadioFour, boolean addRadioFive)


1 commentaires

Le soumissionnaire (0 méthode appelez ceci: Privé Int Calculatprice (Boolean Adradioone, Boolean Adradiotwo, Boolean Adradiothree, Boolean Adradiofour, Boolean Addradiofive


3 Réponses :


0
votes

Vous devez faire quelque chose comme suit:

  • Vous n'êtes pas obligé de passer tous les RADIOBUTTON ou Cochez la case dans Submitorder () Méthode.

  • Vous pouvez définir un auditeur commun à l'aide de ONCHeckEdChanGelistener pour chaque radiogroupe ou ou , appelez soumissionnaire cela.

  • Vous pouvez obtenir toutes les valeurs une par une pour chaque radiobutton et soit vrai ou faux

    J'espère que vous convertiez mes mots en programmation.

    merci


3 commentaires

Merci pour l'aperçu!


Radiogroupe respiratoire = (radiogroupe) FOYVISHYID (R.ID.Respiratoire); {Radiogroup.oncheckedCHangelisterergergerer; } // J'ai essayé ceci mais en vain. Je suis un nouveau développeur alors veuillez accepter mes excuses pour mes compétences de sauterelle. Comme vous pouvez le constater, j'ai créé un ID pour le premier groupe radio, puis ajouté l'ONCHeckEdChangelistener pour le radiogroupe, puis appelé le soumissionnaire. Est-ce ce que tu avais à l'esprit? Curieux de ce que je manque?


Donc, ce que je tente de faire, c'est que l'application ajuster le total du total au total lorsqu'un bouton radio de n'importe quel groupe radio est sélectionné ou si une case à cocher est cochée. Je pense que le problème est que je tente d'appeler Submitère () pendant que je suis déjà dans la méthode Submitère (). Est-ce que c'est possible ? Je continue sur ma quête .........



0
votes

Vous devez faire quelque chose comme ci-dessous. Définissez CheckedChanGelisteners pour tous les boutons radio. Lorsque chacun du bouton radio est coché / décoché, les écouteurs mettront à jour la somme en conséquence.

        radio1 = findViewById(R.id.radio1);
        radio2 = findViewById(R.id.radio2);
        radio3 = findViewById(R.id.radio3);
        private int count=0;


        radio1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked)
                    count=count+3;
                else{
                    if(count>0){
                        count=count-3;
                    }
                }
                System.out.println(count);
            }
        });

        radio2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked)
                    count++;
                else{
                    if(count>0){
                        count--;
                    }
                }
                System.out.println(count);
            }
        });

        radio3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked)
                    count=count+0;
                else{
                    if(count>0){
                        count=count-0;
                    }
                }
                System.out.println(count);
            }
        });


0 commentaires

0
votes
 //So after many attempts and much testing I found that all I had to do was add
 the submitOrder(view:null); in the onRadioButtonClicked method

// the following code is required in order for the radio groups to function 
//without causing an error

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();
submitOrder(null);
}                

And for the checkboxes similarly we add the submitOrder(view:null); in 
the onCheckBoxClicked method which is called when the CheckBox is clicked

public void onCheckBoxClicked(View view) {
// Is the Checkbox now checked?
boolean checked = ((CheckBox) view).isChecked();
submitOrder(null);
}                
You must have two separate methods, one for RadioButtons and One for
   CheckBoxes which must be called in each radioButton and CheckBox XML code 
   for each object. Otherwise the App will crash.

0 commentaires