Android:: Set longueur maximale de EditText des programmes avec d'autres InputFilter
Je suis en utilisant InputFilter de ce genre pour autoriser uniquement les alpha et les numéros de
private InputFilter[] inputFilters = new InputFilter[] { new InputFilter()
{
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
{
for (int i = start; i < end; ++i)
{
if (!Pattern.compile("[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890]*").matcher(String.valueOf(source.charAt(i))).matches())
{
return "";
}
}
return null;
}
} };
Mais d'un problème "android:maxLength" de la valeur dans le fichier xml n'est pas de travailler avec cette InputFilter
Je pense que j'ai besoin de code dans InputFilter pour définir la longueur maximale de EditText
Quelqu'un a une bonne idée pour cela?
Grâce
Vous devez vous connecter pour publier un commentaire.
Juste essayer de cette façon,
InputFilter
Comment appliquer
Un simple One-Liner serait:
Si nous voulons limiter le caractère d'entrée dans une EditText ,
EditText
en XML de mise en page nous donneandroid:maxLength
pour ce faire. Mais dans des codes java vous pourriez vous demander pourquoi il n'est pas tout setMaxLength(int longueur) fonction. La raison derrière cela est que lorsque vous souhaitez restreindre l'EditText à accepter certaine valeur, vous devez filtrer et ce serait invoquée par setFilters. Pour faire de notre EditText d'avoir une taille fixe, nous pouvons utiliser le code suivant.Bâtiment sur @Deepak s, j'ai utilisé les éléments suivants:
Vous pouvez utiliser cette fonction de manière très très simple :
et l'utiliser sur votre activité: