Dans mon application, il existe 2 cases à cocher pour obtenir le type de l'utilisateur (par exemple: étudiant ou enseignant). Je sais que je devrais utiliser un bouton radio au lieu d'une case à cocher, mais ma question dans le tutoriel a demandé d'utiliser une case à cocher (alors veuillez ignorer le bouton radio pour l'instant).
Même je cocher une case à cocher, ISCHECKED (méthode ISCHECKED () renvoie false. p>
Voici le XML P>
EditText username, password; CheckBox teacher, student; DBHelper dbHelper = new DBHelper(this); String type; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); username = findViewById(R.id.regUserName); password = findViewById(R.id.regPassword); teacher = (CheckBox) findViewById(R.id.chkTeacher); student = (CheckBox) findViewById(R.id.chkStudent); if (teacher.isChecked() == true){ type = "teacher"; } else{ type = "student"; } }
3 Réponses :
Eh bien, car il y a deux cases à cocher différentes, vous devez travailler avec ces deux cases à cocher et vous devez également déclencher l'état d'une autre case. J'espère que ce code de code ci-dessous vous aidera à réaliser ce que vous voulez.
result = findViewById(R.id.tv_res); teacher = findViewById(R.id.cb_tec); student = findViewById(R.id.cb_std); teacher.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { if (student.isChecked()) student.setChecked(false); type = "teacher"; } result.setText(type); } }); student.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { if (teacher.isChecked()) teacher.setChecked(false); type = "student"; } result.setText(type); } });
Toujours le même. J'ai vérifié "enseignant" mais à la fin "TYPE" est NULL. BTW Merci d'avoir aidé!
Oh! ma faute. @Manujayapremathilaka j'ai mis à jour ma réponse. Vérifiez s'il vous plaît.
SetonCheckedChangelistener () a résolu mon problème. Merci pour ton aide!
Très bien alors. @Manujayapremathilaka S'il vous plaît marquer ma réponse comme le correct. Merci
type = "student"; } else{ type = "teacher"; } } });
Maintenant, cela ne fonctionne que pour "enseignant". Je pense que je devrais mettre en œuvre un setoncheckedchangelistner pour "étudiant" aussi. Quoi qu'il en soit, merci pour votre aide!
Oui, vous devez également mettre en œuvre pour l'élève.
Pour chaque case à cocher, faites simplement cette chose simple
SetonCheckedCHangelistener a travaillé. Merci pour ton aide!
Si vous avez trouvé cela, c'est une bonne réponse, veuillez voter cette réponse. Il suffit de cliquer sur la flèche vers le haut
Mais ma question dans le tutoriel a demandé à utiliser une case à cocher code> oui. Mais un seul. Pas deux. Réessayer. Recommencer. Seule une case à cocher pour professeur fera. Tout commence par la lecture.