web-dev-qa-db-fra.com

désactiver la case à cocher après avoir vérifié, android

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

15
cgpa2.17

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 
      }
    }    
});
32
Hiral

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 
      }
    }    
});
7

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.

2
Pawel
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
}
}

});
2
Ram kiran

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);
        }
    }
0
Sandeep Patel