J'ai 3 champs dans mes boutons ui 2, un en haut et l'autre en bas d'un champ d'étiquette ... quand jamais le champ de l'étiquette obtient le focus je veux que les boutons apparaissent et je devrait pouvoir cliquer sur eux ... et quand le champ d'étiquette perd le foyer les boutons devraient disparaître ... comment je peux faire ceci ...Blackberry - Visibilité de ButtonField en fonction du focus LabelField
Répondre
mettez un certain champ de gestionnaire comme placeholder à la position de bouton, puis ajoutez un FocusChangeListener pour étiqueter et utiliser le champ add/delete sur focusChanged pour afficher/masquer le bouton.
MISE À JOUR
Étant donné que chaque changement de mise au point à partir des champs peuvent changer la mise en page, penser de son mieux pour ajouter l'auditeur à chaque champ ajouté à l'écran et espace réservé:
class Scr extends MainScreen {
HorizontalFieldManager placeholder = new HorizontalFieldManager() {
public void add(Field field) {
if (field.getFocusListener() != null)
field.setFocusListener(null);
field.setFocusListener(focusListener);
super.add(field);
}
};
ButtonField buttonField = new ButtonField("button",
ButtonField.CONSUME_CLICK);
LabelField labelField = new LabelField("label", FOCUSABLE);
public Scr() {
add(placeholder);
add(labelField);
add(new LabelField("label2", FOCUSABLE));
}
public void add(Field field) {
if (!(field instanceof Manager)) {
if (field.getFocusListener() != null)
field.setFocusListener(null);
field.setFocusListener(focusListener);
}
super.add(field);
}
FocusChangeListener focusListener = new FocusChangeListener() {
public void focusChanged(Field field, int eventType) {
if (eventType == FOCUS_GAINED) {
if (field == labelField) {
if (buttonField.getManager() == null)
placeholder.add(buttonField);
} else if (field != buttonField)
placeholder.delete(buttonField);
}
}
};
}
J'ai une question .... Je n'ai pas encore testé, mais si le champ de l'étiquette a le focus ... et j'essaie de cliquer sur le bouton .. le bouton ne disparaît pas ... je veux être capable de cliquer le bouton aussi ... s'il vous plaît corrigez-moi si je me trompe ... merci .. – Kaddy
Je soupçonne que cela se produira. Il peut fonctionner sur les appareils tactiles, mais sur les appareils trackball le bouton devra avoir le focus avant de pouvoir être cliqué. Je dois avouer que je suis complètement perplexe quant à ce que vous essayez d'accomplir ici. – Richard
cela ne semble pas fonctionner sur 9500 ... je vois un autre écran qui se chevauchent ... – Kaddy
- 1. BlackBerry - ButtonField avec centrée Bitmap
- 2. BlackBerry non-enveloppant LabelField
- 3. Blackberry - BasicEditField avec comportement LabelField
- 4. BlackBerry - Alignement horizontal de LabelField dans l'écran
- 5. Blackberry: Bold Police pour le texte LabelField
- 6. Blackberry - dessiner une étiquette au centre de ButtonField personnalisé?
- 7. Blackberry - Réglage de la couleur d'arrière-plan de LabelField
- 8. Comment définir une police pour le texte LabelField dans Blackberry?
- 9. Comment colorier du texte LabelField dans un ListField lorsque le gestionnaire parent a le focus?
- 10. BlackBerry - Comment définir une image comme arrière-plan pour ButtonField?
- 11. tempête Blackberry 9530 traçage des événements tactiles pendant le défilement
- 12. BlackBerry Alarm Integeration
- 13. Placement de ButtonField
- 14. Type de visibilité du système en C#
- 15. Blackberry Développement, ajouter un nombre dynamique de boutons et de définir Fieldchangelistener() pour eux
- 16. Mise en œuvre du chronomètre Blackberry
- 17. Visibilité du bouton radio
- 18. cc.net visibilité du projet
- 19. Visibilité du défilement
- 20. Paramètres de visibilité du bloc
- 21. BlackBerry LongClickListener mise en œuvre
- 22. Modifier la visibilité des données de rapport en fonction du format de rendu dans Reporting Services
- 23. WPF Visibilité du bouton
- 24. vb.net visibilité du module
- 25. __ visibilité visibilité pour PHP
- 26. css/javascript visibilité visible/cachée est très lente sur Blackberry
- 27. fonction de puissance dans blackberry
- 28. Enveloppe de texte BlackBerry
- 29. Comment utiliser la police différente pour LabelField comme Arial, TimesNewRoman dans BlackBerry
- 30. fonction de liaison jQuery sur le focus
Kaddy vous avait raison au sujet de question, il donne plus amusant :) voir mise à jour! –