2010-03-16 5 views
0

J'aimerais savoir comment l'événement clé est géré sur la plate-forme Android. De 'lorsque la touche de type utilisateur' a 'sur le clavier logiciel', Pour 'voir dessiner le caractère' a 'sur lui-même'.Processus de gestion des événements clés

Probablement, l'événement de clé est généré par IME, Et il sera envoyé à la vue parent, Enfin, affichage (tel que EditText) affiche les caractères.

S'il vous plaît quelqu'un explique à propos de ces processus de gestion des événements clés.

+0

Vous avez posé 3 questions au total sur ce site au cours de la dernière journée. Ils sont tous la même question, juste légèrement différente. Merci de ne pas le faire. Si vous avez besoin de fournir des informations supplémentaires dans votre question initiale, modifiez-la. –

Répondre

0

OnKeyListener et OnKeyDown ne sont pas appelés, comme vous l'avez découvert, lors de l'utilisation d'un clavier logiciel. Ils ne sont appelés que lorsque vous utilisez un clavier matériel, ce que de nombreux appareils Android n'ont même pas.

Je suppose que ce que vous essayez de faire est de capturer des événements de clé comme ils se produisent dans une zone EditText. Votre meilleur pari dans ce cas, afin de gérer à la fois l'entrée du clavier logiciel et l'entrée du clavier matériel, est d'enregistrer un TextWatcher via la méthode addTextChangedListener(). Notez que sur les téléphones avec Android 2.1 et versions ultérieures, tels que le Nexus One, les utilisateurs ont la possibilité d'utiliser la reconnaissance vocale pour saisir du texte dans votre EditText au lieu de taper le texte. Quand ils font cela, vous pouvez obtenir des mots complets, ou même des phrases complètes, entré tout à la fois. Vous devez donc vérifier tout le contenu du champ EditText en cas de modification du contenu.