In meiner Anwendung habe ich 5 CheckBoxen. In der onclick-Methode habe ich folgenden Code:Android - Probleme bei der Handhabung mehrerer CheckBoxen
bt_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cb_answer1.setChecked(false);
cb_answer2.setChecked(false);
cb_answer3.setChecked(false);
cb_answer4.setChecked(false);
cb_answer5.setChecked(false);
cb_answer1.setClickable(true);
cb_answer2.setClickable(true);
cb_answer3.setClickable(true);
cb_answer4.setClickable(true);
cb_answer5.setClickable(true);
}}
Das funktioniert gut, aber ich wollte diesen Code verkürzen. Also habe ich ein Array mit dem CheckBox-Namen (als Klassenvariable) und ersetzt den obigen Code mit dem folgenden for-Schleife:
for (CheckBox cb : answerCheckBoxes){
cb.setChecked(false);
cb.setClickable(true);
}
Jetzt erhalte ich eine Nullpointer -> CheckBox.setChecked (boolean) auf eine Nullobjekt-Referenz. Ich verstehe nicht, warum ich diese Ausnahme bekomme.
Was ist das Problem?
EDIT: Das ist mein Array:
CheckBox[] answerCheckBoxes = { cb_answer1, cb_answer2, cb_answer3,
cb_answer4, cb_answer5 };.
Wenn ich dies in meiner Onclick-Methode setze es funktioniert, aber als Klassenvariable funktioniert es nicht.
Kann mir jemand dieses Verhalten erklären?
Einstellung stoppen klickbar, es sei denn, Sie sind an einem Punkt klickbare an false. Wenn die Einstellung aktiviert ist, werden die Kontrollkästchen automatisch zwischen aktiviert und deaktiviert umgeschaltet. – nukeforum
Können Sie den Code anzeigen, in dem Sie das Array erstellen, und möglicherweise, wo Sie diese Kontrollkästchen instanziieren? – Arjan
Das ist mein Array: CheckBox [] answerCheckBoxes = {cb_answer1, cb_answer2, cb_answer3, cb_answer4, cb_answer5}; –