2009-05-29 11 views
0

J'écris une application qui a un intervalle de temps comme paramètre et aimerais un champ similaire à celui que le temporisateur doit régler son heure. Des valeurs de quelques secondes à quelques heures ont un sens pour l'application.Quel type de champ est le champ Set Timer sur le Blackberry?

Quel type de champ devrais-je utiliser?

Répondre

1

Ressemble à un champ personnalisé.

Vos choix avec des champs intégrés sont: net.rim.device.api.ui.component.NumericChoiceField, qui agit essentiellement comme un menu déroulant avec des chiffres dans ce (pas grand quand vous parlez de 60 minutes/secondes, mais si vous voulez limiter à dire Intervalles de 5 minutes ou quelque chose, ça pourrait être OK).

net.rim.device.api.ui.component.EditField avec un net.rim.device.api.ui.text.TextFilter personnalisé (vous pouvez utiliser un NumericTextFilter, mais cela ne vous contraindrait pas à 0-60, cela autoriserait n'importe quel nombre).

Ou vous pouvez rouler vous-même. Voir this article pour commencer à créer des champs personnalisés. Vous voudrez sans doute surcharger navigationMovement pour augmenter/diminuer la valeur de la boule de commande & vers le bas, et pour déplacer le focus dans le champ en allant vers la gauche & droite - en définissant une variable d'état interne indiquant où se trouve le focus et en remplaçant getFocusRect pour retourner un rectangle de focus approprié (assurez-vous d'appeler focusRemove et focusAdd depuis navigationMovement pour indiquer au framework que vous avez mis à jour le focus).

+0

Oui, mon plan de sauvegarde est un EditField avec un NumericTextFilter. C'est pour une mission et on m'a dit de passer peu de temps sur l'interface graphique, donc rouler mon propre champ personnalisé est plus de travail que je le voudrais. Tant pis. –

Questions connexes