De compensation précédemment entré du texte dans le champ EditText

Hey,
J'essaie d'obtenir mon editText fenêtre pour effacer son contenu lorsque:
1) Il est resélectionnés pour entrer des données différentes ou
2) Un bouton est enfoncé à l'entrée de données prédéterminés

Ce n'est pas de l'indice de texte. Pour le moment, une fois les données prédéterminés est entrée il y reste et je ne peux pas clair, même en utilisant la supprimer.
J'ai essayé de mettre editBox.setText("") dans le onClick Auditeur et les addTextChangedListener (à la fois avant et sur les méthodes) à l'aide d'un booléen pour déterminer si le code a déjà été saisie, mais il l'ignore.

foodBox.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
addFood();
valueAdded=true;
}           
});
dogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (valueAdded==true){
foodBox.setText("");
setFood(0.0);
}
isClicked=true;
animal=1;
addFood();
valueAdded=true;//value in the box
}
});
catButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (valueAdded){
foodBox.setText("");}
isClicked=true;
animal=2;
addFood();
valueAdded=true;
}
});
private void addFood() {
try{
aClass aob = new aClass();
setFood(0.0);
String a = this.foodBox.getText().toString();
if(isClicked&&TextUtils.isEmpty(a)){
if(animal==1){
a=mob.getDog(); 
}
if(animal==2){
a=mob.getCat();
}
this.foodBox.setText(a);
double d=Double.parseDouble(a);
setFood(d);
}else{
if(TextUtils.isEmpty(a)){
a="0";
}
double d=Double.parseDouble(a);
setFood(d);
}
} 
catch (Exception e){
this.showAnswer.setText("Please input animals in numbers");
addFood();
}
}

Grâce

OriginalL'auteur Broo | 2011-05-05