vérifier l'état d'un bouton radio android et de compter les réponses
J'ai édité le code de la façon @CommonsWare m'a dit
je reçois la force de fermeture lorsque j'essaie de cliquer sur le r1 et le problème est qu'il semble bouton[i].isChecked() n';t de travail--> fixe
J'ai final RadioButton[] buttons = {r1,r3,r5,r7};
Et je tiens à les compter (en principe oui réponses)
public void onClick(View view){
checkStates(buttons);}
}
private void checkStates(RadioButton[] buttons) {
for (int i = 0; i < 4; i++) {
if (buttons[i].isChecked())
yes++;}
if (yes>=3){
Intent intent=new Intent(this,AnotherClass.class);
startActivity(intent);
}
}
Fondamentalement, je n'ai oui et pas de boutons radio. Je veux compter les réponses oui et si l'utilisateur change de leur esprit et vérifie pas pour décrémenter oui
r1 r3 r5, etc. sont des réponses par "oui"
r2 r4 r6 sont "non", répond
Mon approche pourrait être mal depuis que je suis nouveau à cela, mais si quelqu'un m'aide, je vais poster l'ensemble de la chose pour les gens de voir.
S'il vous plaît aider!
Ok j'ai vérifié le journal de chat, et je reçois le message d'erreur suivant (il était évident où, mais je ne sais pas pourquoi et comment mettre en œuvre ce travail)
Android Runtime: Uncaught handler :thread main exiting due to uncaught exception
java.lang.NullPointerException
RadioButtons.checkStates(RadioButtons.java:49) --> here : if (buttons[i].isChecked())
RadioButtons.onClick(RadioButtons.java:42)--> here: checkStates(buttons);
Edit:Le problème - la voie de l' @CommonsWare souligné -, c'est que buttons
n';t initialisé et j'ai eu NullPointerException
j'ai Donc modifié le code avant avec celui-ci:RadioButton[]buttons =new RadioButton[3];
donné la taille de la matrice
public void onClick(View view){
checkStates(buttons);
}
private void checkStates(RadioButton[] buttons) {
buttons[0]=rb1;
buttons[1]=rb3;
buttons[2]=rb5;
if (buttons[i].isChecked()){
yes++;}
tv.setText("Result:"+yes);
}
Le problème cette fois-ci, c'est qu'Il ne compte plus le nombre de clics et de ne pas les réponses par "oui"
J'ai le problème suivant à résoudre
-
compter les réponses par "oui" oui++
-
Si l'utilisateur clique sur le deuxième ne comptent pas,
-
Si l'utilisateur change de leur esprit de "oui" à "non" décrémenter "oui"
-
Si l'utilisateur appuie sur "non" Ne comptent pas n'importe quoi (la partie importante de ma demande est de compter le oui réponses )
Vous devez vous connecter pour publier un commentaire.
Appel
isChecked()
. Mais vous le saviez déjà.Il n'y a pas de point d'appel
setChecked(true)
sur unRadioButton
qui renvoie la valeur true à partir deisChecked()
, depuis queRadioButton
est déjà cochée.Remplacer votre
//if r1 or r3 are checked{
avecif buttons[i].isChecked() {
adb logcat
, DDMS, ou la perspective DDMS dans Eclipse pour examiner LogCat et de regarder la trace de la pile associée à votre "force close".null
pour une certaine valeur dei
.Vous devez d'abord utiliser un groupe de boutons de groupe de chaque Oui et Pas de paire afin que les Deux ne sont pas autorisés à être sélectionnés en même temps.
Ici est une grande ressource de départ
http://developer.android.com/resources/tutorials/views/hello-formstuff.html#RadioButtons
De lire cette page et toutes vos questions seront répondues, y compris la configuration de OnClickListener
Espère que cette aide