Je veux y parvenir: vérification de l'utilisateur sur une case à cocher non cochée, un toast affiché, la case à cocher devient alors désactivée.
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
male.setChecked(false);
}
}
});
la sortie a échoué, car ils s'exécutent en même temps, même je mets male.setChecked (false) à l'extérieur .. Je ne me souviens pas qu'il y a quelque chose pour exécuter quelque chose en premier, puis autre chose .. est-ce du fil? ne peux vraiment pas me souvenir
Si vous souhaitez obtenir: "vérification de l'utilisateur sur une case à cocher non cochée, un toast affiché, la case à cocher devient alors désactivée ..", vous devriez essayer ce code:
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
male.setEnabled(false); // disable checkbox
}
}
});
Essaye ça....
- Utilisez la setEnabled(false)
sur le CheckBox
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
male.setEnabled(false); // Will Disable checkbox
}
}
});
Essayez d'utiliser .onClickListener(View.OnClickListener)
avec implémenté View.OnClickListener
. Dans le corps de la méthode implémentée, vous vérifierez si la CheckBox est cochée ou non et les définissez.
male.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton arg0, boolean isChecked) {
// TODO Auto-generated method stub
if (isChecked){
Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show();
//male.setVisibility(View.GONE);//disappear your check box
male.setEnabled(false);//disable your check box
}
}
});
Tout d'abord, enregistrez votre CheckBox sur OnCheckedChangeListener.
chk.setOnCheckedChangeListener(this);
puis, remplace sa méthode
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b)
{
if (chk.isChecked())
{
chk.setEnabled(false);
}
}