Я отредактировал код так, как @CommonsWare сказал мне, что когда я пытаюсь нажать r1, я получаю принудительное закрытие, и проблема в том, что кнопка [i] .isChecked () не работает -> исправлено
У меня есть final RadioButton[] buttons = {r1,r3,r5,r7};
И я хочу посчитать их (в основном да ответы)
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);
}
}
В основном у меня есть переключатели да и нет.Я хочу посчитать ответы «да», и если пользователь передумает и проверит «нет», чтобы уменьшить «да»
r1 r3 r5 и т. Д. - «да», ответы r2 r4 r6 - «нет» ответов
Myподход может быть неправильным, так как я новичок в этом, но если кто-то поможет мне, я опубликую все это, чтобы люди могли его увидеть.
Пожалуйста, помогите!
Хорошо, я проверил журнал cat ия получаю следующую ошибку (было очевидно, где, но я не знаю, почему и как я могу реализовать это для работы)
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);
Редактировать: Проблема - как указал @CommonsWare - заключалась в том, что buttons
не было инициализировано, и я получил NullPointerException
Так что я изменил код ранее с этим: RadioButton[]buttons =new RadioButton[3];
дал размер массива
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);
}
На этот раз проблема в том, что он все еще считаетщелкает, а не отвечает «да» У меня есть следующие проблемы, которые нужно решить
считать ответы «да» да ++
Если пользователь нажимаетвторой раз не в счет
Если пользователь передумаетот «да» до «нет» декремент «да»
Если пользователь нажимает «нет», ничего не считать (важная часть моего приложения - подсчет ответов «да»)