PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 23 → Focus clavier Android
Focus clavier Android
Débuté par Suram, 11 sep. 2018 16:00 - 4 réponses
Membre enregistré
47 messages
Posté le 11 septembre 2018 - 16:00
Bonjour,
j'ai un soucis avec le clavier Android.

Soit, je l'active en saisie, auquel cas dès que la fenêtre s'ouvre, le clavier apparaît, ce qui n'est pas agréable.

Soit, je le désactive en saisie et j'ajoute à l’événement clic : ClavierVisible(Vrai).
Auquel cas dès que l'utilisateur clique sur le champ, le clavier s'ouvre et il est possible de saisir le contenu du champ de saisie.

Cependant le focus ne se positionne plus dans le champ de saisie. Ce qui rend impossible le scan par lecture de code barre de l'appareil mobile (le scan s'effectue dans le vide étant donné que le focus n'est pas dans le champ de saisie).
J'ai essayé DonneFocus, RepriseSaisie, ..Curseur. Rien y fait.

La propriété curseur m'indique 1, ce qui signifie que l'application considère que le focus est fait. Mais la "barre de focus" est absente et impossible de scanner un code barre.
Message modifié, 11 septembre 2018 - 16:01
Posté le 11 septembre 2018 - 17:26
Tu décrit un comportement sous windows mobile ce qui n'a rien a voir avec Android.
Sous Android il faut utilisé cbcapture.
Membre enregistré
14 messages
Posté le 11 septembre 2018 - 20:50
Salut !

Le traitement devrait fonctionner si tu le gère manuellement quel champs est sélectionné à l'ouverture de la fenêtre ( via l'ordre de saisie )

Essayes de sélectionner le champs de façon différente différente qu'automatiquement ... par exemple, vite comme ça ce que je ferai c'est de trouver quel événement est appelé lorsque la lecture d'un code barre est faite. Il va normalement appeler une fonction ou un événement dans ta fenêtre ; intercepte cet événement et place manuellement le résultat de ta lecture dans le champs voulu à cet endroit.

sinon, fait comme dit popoy et appelle cbcapture dans ton code sur la prise de focus de ton champs de saisie après avoir appellé claviervisible.
Message modifié, 11 septembre 2018 - 20:57
Membre enregistré
47 messages
Posté le 12 septembre 2018 - 09:20
Merci pour vos réponses.

Popoy - > Mon application vient en effet de windows mobile et je suis en train de la migrer sur Android.
Cbcapture permet de capturer un code barre grâce à l'appareil photo. Fonctionnalité qui est également utilisée dans mon application.
Cependant ici je parle du scan non par l'appareil photo mais par le lecteur de code intégré à l'appareil mobile.

tsavard -> Normalement lors du scan, le résultat est placé là ou se trouve le curseur. Or le soucis, c'est que le curseur disparaît lorsque je désactive l'option "Activer le clavier en saisie" alors que le focus est bien donné sur le champ. Je vais chercher du côté des événements comme vous me l'avez suggéré.

Je vous tiens au courant si je trouves. Si vous avez d'autres pistes je suis preneur.
Membre enregistré
47 messages
Posté le 12 septembre 2018 - 12:17
J'ai trouvé une solution !

Il faut activer le clavier en saisie.

Si le clavier s'affiche automatiquement à l'ouverture comme c'était mon cas, cela vient du changement de plan.

Il semble que lorsque l’on change de plan, le clavier s'ouvre automatiquement. C'est pour cela qu'il s'ouvrait constamment à chaque ouverture de fenêtre.
Il suffit de mettre un ClavierVisible(Faux) juste après le changement de plan pour que le problème se résolve.

Encore merci pour l'aide.