J'ai trois EditField j'ai un setlistener ensemble pour le deuxième editfield seul. quand le focus est perdu je vérifie si le champ est vide ou pas si le champ est vide il montrera le message de popup .Maintenant le problème est une fois que l'utilisateur est venu à ce champ il ne pourrait pas se déplacer à d'autres champs Je veux que l'utilisateur peut se déplacer vers le champ qui est au dessus de ce champ et il ne pourrait pas se déplacer au champ ci-dessous. Comment gérer cette situation? S'il vous plaît partager vos idées.Comment gérer Focuschangelistener dans blackberry pour cette situation?
0
A
Répondre
2
Je suppose que c'est pour la fonctionnalité de validation? Voir la stratégie de validation proposée: nous avons une interface IValidated qui peut être vérifié pour les données appropriée:
interface IValidated {
public boolean validate();
}
Maintenant, tous les domaines, comme la liste ou case à cocher ou choix peut la mettre en œuvre.
Ensuite, il y a un événement onFocus dans chaque champ, là vous pouvez valider le champ IViidated previouse et setFocus s'il échoue.
Voir un exemple EditField:
class ValidatedEdit extends BasicEditField implements IValidated {
private static final String EMPTY_STRING = "";
public ValidatedEdit(String label, String value) {
super(label, value);
}
protected void onFocus(int direction) {
// it's from upper field
if (direction > 0 && getIndex() > 0) {
// get upper field
Field field = getManager().getField(getIndex() - 1);
// if its IValidated
if (field instanceof IValidated) {
IValidated validated = (IValidated) field;
// validate, if false set focus to IValidated
if (!validated.validate()) {
field.setFocus();
return;
}
}
}
super.onFocus(direction);
}
public boolean validate() {
return !getText().equalsIgnoreCase(EMPTY_STRING);
}
}
Exemple d'utilisation:
class Scr extends MainScreen {
ValidatedEdit mEditField1 = new ValidatedEdit("field#1", "");
ValidatedEdit mEditField2 = new ValidatedEdit("field#2", "");
ValidatedEdit mEditField3 = new ValidatedEdit("field#3", "");
public Scr() {
add(mEditField1);
add(mEditField2);
add(mEditField3);
}
}
Questions connexes
- 1. Comment gérer la gestion de la mémoire dans cette situation?
- 2. Comment voulez-vous gérer cette situation avec NHibernate
- 3. Comment gérer cette situation Multithread et ne pas verrouiller?
- 4. CSS peut-il gérer cette situation de type sablier?
- 5. Comment utiliser outputcache dans cette situation?
- 6. Comment indiquer les différences dans cette situation?
- 7. Comment se comporte JavaScript dans cette situation?
- 8. @property, ok dans cette situation?
- 9. Comment concevoir la base de données pour cette situation?
- 10. Comment puis-je mieux gérer cette situation dans ASP.NET MVC concernant mes vues partielles?
- 11. Dactylographie: comment traiteriez-vous cette situation?
- 12. Recommandez la meilleure approche dans cette situation
- 13. Est-LINQ dans cette situation surpuissance
- 14. Que signifie SIGPIPE dans cette situation?
- 15. Comment rectifier cette exception dans Blackberry?
- 16. Comment attacher un débogueur VC++ (ou gdb) dans cette situation?
- 17. Comment appliqueriez-vous les tests unitaires dans cette situation?
- 18. Comment donner une variable PHP dans cette situation?
- 19. Comment assurer la cohérence des données dans cette situation concurrente?
- 20. Comment protéger le code des accidents dans cette situation
- 21. Comment travailler sur cette situation particulière dans l'admin django?
- 22. Comment définir une hauteur div dans cette situation?
- 23. Comment écrire une animation jQuery dans cette situation?
- 24. En jQuery, comment utilisez-vous correctement ceci dans cette situation?
- 25. Promouvoir la réutilisation de code pour cette situation
- 26. Comment gérer cette chaîne dans json?
- 27. comment gérer cette exception ThreadAbort ..?
- 28. Mediator Pattern fonctionne-t-il dans cette situation?
- 29. Que signifie «libérer» dans cette situation sur iPhone?
- 30. Comment créer/appliquer un patch diff à cette situation?
, vous voulez permettre à l'utilisateur de passer champ vide au champ précédent mais interdit de se déplacer champ suivant? –
oui exactement coldice – Kumar