2

Je suis un peu nouveau pour android dev. J'ai un écran de préférences sur mon application avec un tas de EditTextPreference et checkbox pref. Je suis intéressé à faire une validation sur l'entrée de la préférence edittext. Il semble qu'il n'y a aucun moyen de le faire en utilisant android, j'ai donc développé une classe qui étend le edittextpreference. Par exemple, j'ai une préférence de texte qui a seulement une plage valide de 0 à 1. La préférence de texte prendra n'importe quels nombres, mais je dois valider ceci avant le réglage.SharedPreferences Validation

Je remplace la méthode setText, et j'essaie d'y effectuer une validation avant de définir la valeur. SetText passe seulement dans la chaîne de texte, comment puis-je savoir ce que j'essaie de valider? Comment puis-je obtenir cette information? En d'autres termes, j'aimerais réutiliser ma classe pour valider toutes mes préférences de texte, et j'aimerais que quelque chose dans la préférence elle-même me dise de quel type il s'agit, ou quelle est sa portée.

+0

Bonne question, je cherche une réponse aussi – Ahmed

+0

Utilisez addTextChangedListener maybe. http://stackoverflow.com/questions/10648824/how-can-i-check-an-edittextpreference-value-before-the-user-validate-it – timothyjc

Répondre

0
   Preference pref = findPreference("OutputFolder"); 


      pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { 

      @Override 
      public boolean onPreferenceChange(Preference preference, 
        Object newValue) { 

           // Do the validation here 

       } 
       return true; 
      } 

      });