Android désactiver l'espace uniquement pour Edittext
Dans mon application android, j'ai besoin de désactiver la barre d'Espace. Mais je n'ai pas trouver une solution à ce problème. J'ai besoin de désactiver la barre d'espace et lorsque l'utilisateur dans l'espace de travail, des caractères spéciaux, des lettres, des chiffres et tous les autres doivent travailler. Ce que j'ai essayé est,
etPass.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//TODO Auto-generated method stub
String str = s.toString();
if(str.length() > 0 && str.contains(" "))
{
etPass.setError("Space is not allowed");
etPass.setText("");
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
//TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
//TODO Auto-generated method stub
}
});
Mais le problème, c'est une fois que l'espace est l'ensemble du texte est la suppression. J'ai enlevé
etPass.setText("");
cette ligne, donc, à l'époque message d'erreur est affiché, mais, à ce moment, l'utilisateur peut encore capables de type espace. Mais ce dont j'ai besoin est l'utilisateur ne devrait pas pouvoir le type de l'espace.
source d'informationauteur roshanpeter
Vous devez vous connecter pour publier un commentaire.
Pourquoi ne pas penser à un personnage de filtre .. Voici un exemple de code extrait.
elle est solution de travail pour moi :
L'ajouter dans le texte à modifier dans le fichier xml
Cette version supporte le signal d'entrée du clavier de l'suggestions avec des espaces.
PS: Kotlin version:
Essayer cette
Utilisation
android:digits
ne comprennent pas " "(espace)Pour désactiver l'utilisation de l'espace
Il suffit de remplacer dans votre code et il devrait fonctionner parfaitement,
au lieu de
etPass.setText("");
juste supprimer de l'espace deEditText
de données.de sorte que votre
IF
condition sera comme suit :Dans afterTextChanged méthode de mettre le code suivant: