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
Vous devez vous connecter pour publier un commentaire.
Euh...
Le seul code que j'utilise pour réaliser 1) est:
host
être un EditText. Fonctionne très bien? Je pense que vous avez fait ce plus compliqué que ce qu'il est.Je ne voudrais pas utiliser le TextChanged à l'écoute, et surtout pas comme ça. La valeur ajoutée de la variable que vous avez semble vraiment stupide, vous devriez vérifier sur quelque chose comme
foodBox.getText().length()
au lieu de s'assurer qu'il y a de données à l'intérieur de l'EditText champ. Repenser la conception de votre.Se débarrasser de la "isClicked" trop...
Ok, je vous remercie. J'apprends beaucoup de silly stuff va pas :/
Pas de soucis, désolé si j'ai été trop sévère. 🙂
OriginalL'auteur Klaus
De clair Clair Lorsque le Bouton est Cliqué:
Il a Travaillé Pour moi. Espérons Que Cela Aide.
OriginalL'auteur ashim888
Pour 1) onClick ne fonctionne pas pour moi que j'ai du appuyer deux fois pour appeler onClickListener. Autre approche serait setOnFocusChangeListener()
Pour 2) solution donnée par la ashim888 fonctionne bien.
OriginalL'auteur 2ank3th