2016-06-27 1 views
0

Quelqu'un peut-il me conseiller quelle est la meilleure approche pour ajouter un filtre pour editText de sorte qu'il ne devrait pas permettre les numéros de caractères spéciaux &. il ne devrait permettre « abcdefghijklmnopqrstuvwxyz »Filtre d'entrée pour restreindre les caractères spéciaux et les numéros

ci-dessous est le filtre que je l'ai utilisé actuellement

private InputFilter testFilter = new InputFilter() { 

     @Override 
     public CharSequence filter(CharSequence source, int start, int end, 
       Spanned dest, int dstart, int dend) { 
      // TODO Auto-generated method stub 

      for (int i = start; i < end; i++) { 

       if(!Character.isDigit(source.charAt(i))){      
        if(!Character.isLetterOrDigit(source.charAt(i))){ 
         return ""; 
        } 

       } 

      } 

      return null; 
     } 
    }; 

editTest.setFilter(testFilter); 

Ce code restreint des caractères spéciaux, mais permettant un nombre.

conseils Veuillez Merci & Cordialement. Nagendra

+0

Votre 'if (! Character.isDigit (source.charAt (i)))' n'est pas nécessaire. – Jeroen

+0

oui cela vrai, mais il accepte encore des nombres – nagendra

+0

'if (! Character.isLetter (source.charAt (i))) { return" "; } ' – Jeroen

Répondre

0

Créez une méthode qui vérifie si le caractère est autorisé et utilisez-la au lieu de Character.isLetterOrDigit.