EditText - change le texte en tapant
J'ai besoin de remplacer le texte à l'intérieur de l'EditText tout en tapant :
Exemple : si l'utilisateur appuie sur "A" il serait stockée dans une mémoire tampon et sur l'EditText "D" s'affiche à la place (on dirait qu'il la touche "D").
Maintenant, je peux lire le pressé de caractère, mais je ne peux pas afficher n'importe quel caractère dans le et pour éviter de stackoverflow :
final EditText et = (EditText) findViewById(R.id.editTexts);
final TextView tv = (TextView) findViewById(R.id.textView2);
et.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable s){}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.length() > 0) {
tv.setText(s.toString().substring(s.length()-1));
et.setText("");
}
}
});
source d'informationauteur Issam Zoli
Vous devez vous connecter pour publier un commentaire.
Vous pouvez la modifier si nécessaire::
Afin de modifier le texte de manière interactive, vous devez vous inscrire à un
TextWatcher
. Mais en essayant de modifier le texte à l'intérieur de l'observateur crée d'autres appels de l'observateur. Mon hack est de supprimer temporairement l'observateur lorsque je veux modifier le texte et enregistrez-le à nouveau à droite aprèsConsulter Ce lien http://developer.android.com/reference/android/text/TextWatcher.html#afterTextChanged%28android.text.Editable%29