2017-09-16 3 views
0

Non Désactivation de lors de l'exécution dans onCreate(). Mais, en cliquant sur CheckBox la méthode s'exécute une fois puis arrête à nouveau l'exécution.Activation ou désactivation de EditTExt avec CheckBOx ne fonctionnant pas

Toute personne aide à trouver la réponse

public void EXtraWorkCalc(){ 
    extraworkCheck = (CheckBox)findViewById(R.id.workCheck); 
    extraworkCheck.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 
     @Override 
     public void onCheckedChanged(CompoundButton compoundButton, boolean b) { 
      if (!compoundButton.isChecked()) { 
       extraSpace = (EditText) findViewById(R.id.extraWidthEtxt); 
       extraSpace.setEnabled(false); 
       extraSpace.setBackgroundColor(Color.LTGRAY); 
      } else 
       extraSpace.setEnabled(true); 
       extraSpace.setBackgroundColor(Color.WHITE); 
     } 
    }); 
} 

Répondre

1

Vous initialisez le EditText à l'intérieur du checkBoxsetOnCheckedChangeListener. Voilà pourquoi ça ne marche pas.

Initialisez votre EditText (extraSpace) dans oncreate() ou avant d'appeler la méthode EXtraWorkCalc().

Déplacer cette ligne à onCreate().

extraSpace = (EditText) findViewById(R.id.extraWidthEtxt); 
+0

Yor sont droit, mais Monsieur, quand je suis en initialisant onCreate(), puis comme si validation (TextUtils.isEmpty (extraSpace.getText() de toString())) { extraSpace.setError ("Veuillez entrer un travail supplémentaire"); } puis If() instruction dans CheckBox Listner ne fonctionne pas et en me donnant l'erreur d'exception de format de nombre –