Je souhaite créer un BasicEditField qui n'accepte que des majuscules, des minuscules et des valeurs numériques. Il ne devrait pas accepter d'autres symboles. Y at-il un peu de style disponible pour BlackBerry BasicEditField qui le fait fonctionner de cette façon? Sinon, y a-t-il autre chose que je puisse faire?Définir un filtre BasicEditField sur BlackBerry
Répondre
Il existe un constructeur qui vous permet de spécifier le style du champ. Vous pouvez alors OU ensemble les styles que vous voulez, comme FILTER_UPPERCASE | FILTER_LOWERCASE | FILTER_NUMERIC.
Vous pouvez également appeler setFilter et créer votre propre sous-classe de TextFilter, qui vous permet de spécifier le comportement exact souhaité en écrasant les méthodes de conversion et de validation. Convertir vous permet de forcer certaines choses comme automatiquement faire en majuscules tout texte, etc. Valider vous permet de bloquer certaines choses d'être entrées, par ex. caractères spéciaux. Consultez l'API pour plus d'informations.
Peut-être qu'il n'est pas possible de les combiner comme ça alors, je ne l'ai pas essayé. Chaque fois que j'ai utilisé des filtres dans mon code, je l'ai toujours fait la deuxième façon dont j'ai parlé plus haut. C'est un peu plus compliqué mais cela vous donne beaucoup plus de contrôle sur ce que le champ peut et ne peut pas accepter. Consultez la documentation de l'API sur la classe TextFilter. Comme je l'ai dit plus haut, il suffirait de mettre en œuvre les méthodes de conversion et de validation. Je pense que dans votre cas, vous n'auriez rien à convertir. Mais dans la méthode de validation, il suffit de vérifier que le caractère est compris entre a-z A-Z ou 0-9. Si c'est vrai, sinon retourner false. Cela empêchera tous les caractères indésirables d'apparaître sur le terrain.
-je utiliser ces méthodes: TextFilter#get et BasicEditField#setFilter
mEdit = new EditField();
mEdit.setFilter(TextFilter.get(TextFilter.NUMERIC));
ou
// Numeric filter that also allows minus sign.
mEdit.setFilter(TextFilter.get(TextFilter.INTEGER));
Je pense que la création de votre propre filtre en remplaçant Textfilter peut résoudre la tâche de filtrage plus difficile.
Avec un BasicEditField, ceci n'est pas facilement implémentable; Cependant, la bonne solution changerait BasicEditField avec AutoTextEditField. Lors de la création de AutoTextEditField, utilisez le constructeur dans lequel vous pouvez passer des paramètres. Cela devrait le faire pour vous.
new AutoTextEditField("My label:", "initial value", 1024, 50,
TextFilter.LOWERCASE | TextFilter.NUMERIC);
-1: Ces informations sur AutoTextEditField ne sont pas pertinentes à la question initiale sur BasicEditField. –
Il est facilement compréhensible, qu'avec BasicEditField ceci n'est pas facilement (ou pas du tout) implémentable; Cependant, la bonne solution changerait BasicEditField avec AutoTextEditField. Par conséquent, le champ différent utilisé. – Hrvoje
Eh bien, je ne peux pas changer le vote sauf si vous modifiez votre réponse - règle de SO. –
mEdit.setFilter (TextFilter.get (TextFilter.NUMERIC)); fonctionne bien, aussi, je pense, il ne prend pas le signe moins, comme lors du test 'm pas en mesure d'insérer "-" signe moins dans le domaine.
Kumar J'ai aussi fait face à la même question, a utilisé le code ci-dessous pour le fixer -
Le script ci-dessous permet Majuscules, Minuscules des valeurs numériques.
setFilter(new TextFilter() {
public boolean validate(char c) {
return (Character.isDigit(c) || Character.isLowerCase(c) || Character.isUpperCase(c));
}
public char convert(char c, int status) {
return c;
}}
setFilter ne serait pas approprié à cet endroit. – Hrvoje
- 1. Données d'entrée dans BasicEditField sur BlackBerry Torch
- 2. Blackberry - BasicEditField avec comportement LabelField
- 3. Blackberry - ligne simple BasicEditField avec grand texte
- 4. Blackberry - Désactiver Enregistrer l'option dans BasicEditField?
- 5. Blackberry - Comment ajouter une bordure à BasicEditField?
- 6. BasicEditField Personnalisation
- 7. Comment définir le filtre sélectionné sur QFileDialog?
- 8. Comment afficher le clavier virtuel numérique sur le Blackberry Storm?
- 9. Blackberry Text Filter
- 10. Définir l'image de BitmapField sur le fil avec BlackBerry
- 11. filtre sur un champ many_to_many
- 12. Comment définir un filtre pour un prix maximum estimé
- 13. Définir la hauteur et la largeur de EditField sur BlackBerry
- 14. Comment écrire des données dans un fichier texte dans BlackBerry?
- 15. Syntaxe pour définir un filtre NHibernate avec Nhibernate Fluent?
- 16. Comment définir un ScrollBar à la VerticalFieldManager dans Blackberry?
- 17. Format des valeurs décimales sur un BlackBerry
- 18. Lecture d'un fichier mp3 sur un BlackBerry
- 19. Blackberry - Taille personnalisée EditField
- 20. Mettre un filtre sur DataView par heure
- 21. Comment faire un filtre ListView sur Android
- 22. Définition de critères sur un filtre automatique dans pyWin32
- 23. Ajouter ContactList sur Blackberry
- 24. Blackberry - Custom EditField Cursor
- 25. RichText Email sur Blackberry
- 26. Marquee Texte sur Blackberry
- 27. Filtre xsl sur select
- 28. Image sur fond Image dans Blackberry
- 29. ActiveScaffold dans un avant filtre
- 30. Blackberry Development - JFreeChart fonctionne-t-il sur Blackberry?
Salut Dave i essayé « FILTER_UPPERCASE | FILTER_LOWERCASE | FILTER_NUMERIC » celui-ci, mais je considère que le premier filtre n'ex.in le style ci-dessus ur majuscules donné, minuscules et numeric.But le filtre accepte uniquement en majuscule uniquement. – Kumar