OnclickListener in einem Kontrollkästchen (Android Studio)
hier ist ein Teil meines Codes, das umfasst die CheckBox(ChckBoxNo):
final CheckBox ChckBoxNo = (CheckBox)promptsView.findViewById(R.id.ChkBoxNo);
ChckBoxNo.setChecked(true);
ChckBoxNo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ChckBoxNo.isChecked()) {
ChckBoxNo.setChecked(false);
}
else if (!ChckBoxNo.isChecked())
{
ChckBoxNo.setChecked(true);
}
}
});
Am Anfang habe ich gesetzt, gilt für die isChecked() Methode auf mein Kontrollkästchen , dann implementiere ich die onclicklistener auf das Kontrollkästchen.
Wenn ich die app starte, ist das Häkchen gesetzt, da ich den vorgegebenen eralier , aber wenn ich auf das Kästchen klicken ,wird Es deaktiviert und dann immidately nochmals überprüft(die ich nicht clciked wieder auf das Kästchen! )
Was sollte ich tun, um zu beheben,was falsch in meinem code ?
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen
Checkbox
um die "überprüfen" - Prozess automatisch - Sie müssen nicht, dies zu bewerkstelligen, selbst für die standard-Nutzung.Check-out dieses Beispiel von den docs. Hier, wenn ein click-Ereignis abgefangen wird, werden Sie Operationen basierend auf der
isChecked()
Zustand.versuchen Sie dies:
Du bist, kämpft die CheckBox. Es ist standart Verhalten, das Kontrollkästchen ändern Staaten, brauchen Sie nicht zu tun, indem Sie sich.
Entfernen setChecked true und false und fügen Sie etwas nützlich dort statt )
Brauchen Sie nicht, um die aktivierten Zustand auf die gleiche, die Sie haben klicked.
Sie shold behandeln einige andere Operationen an bestimmten Status.