J'ai un EditText dans lequel je veux autoriser uniquement les alphabets et les numéros de toutes les langues. J'ai essayé avec différents android:inputType
et android:digits
en XML.EditText permet uniquement les alphabets, les chiffres de toutes les langues
J'ai essayé avec l'ensemble TextWatcher à EditText dans lequel OnTextChanged() est comme
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
switch (et.getId()) {
case R.id.edtMultiLang: {
et.removeTextChangedListener(watcher2);
et.setText(s.toString().replaceAll("[^[:alpha:]0-9 ]", ""));
// et.setText(s.toString().replaceAll("[^A-Za-z0-9 ]", ""));
et.addTextChangedListener(watcher2);
break;
}
}
}
Cela fonctionne très bien. Mais chaque fois que j'essayais d'effacer du texte, le curseur se déplaçait pour démarrer chaque lettre. Signifie que lorsque j'efface une seule lettre, le curseur se déplace pour commencer.
Si j'utilise comme android:digits="abcdefghijklmnopqrstuvwxyz1234567890 "
, il me permet de taper seulement des alphabets et des nombres d'anglais. Il ne me permet pas d'entrer un autre texte de langue Comme j'ai donné seulement des alphabets anglais liés ici. Mais mon exigence est de permettre le copier/coller des lettres et des alphabets d'autres langues. J'espère que nous pouvons le faire en utilisant Patterns, TextWatcher et InputFilter. Mais je n'ai pas trouvé mieux.
S'il vous plaît laissez-moi savoir si un moyen de le faire.
Je trouve la solution à http://stackoverflow.com/questions/41953259/edittext-cursor-coming-to-start-pour-chaque-lettre-quand-clair-texte, mais quand je colle du texte, le curseur se déplace à la fin – Srikanth