2010-09-16 8 views
0

Je suis en train de faire de grands progrès dans le portage de mon émulateur d'ordinateur couleur vers Android. Il fonctionne sur un Droid 2 avec un clavier matériel, mais je suis incapable d'obtenir le clavier virtuel pour envoyer KeyEvents à ma sous-classe SurfaceView. J'ai inclus setFocusable (true), setFocusableInTouchMode (true), requestFocus() et requestFocusFromTouch() dans la vue par suggestions ici. Les méthodes onKeyUp et onKeyDown ne sont pas appelées lors de l'utilisation du clavier virtuel. J'ai essayé (bien que je ne sois pas complètement certain que ce soit nécessaire) en implémentant onCreateInputConnection et en retournant une nouvelle BaseInputConnection (avec l'onCheckIsTextEditor correspondant) sans succès. J'utilise un HTC Incredible pour tester. Toute aide ou code d'échantillon serait apprécié.SurfaceView KeyEvents

Merci.

Répondre

0

Le problème était entièrement dans le code d'émulation. Lors de l'utilisation d'un clavier virtuel, l'événement de touche enfoncée est immédiatement suivi d'une opération d'effacement de ma clé avant que l'émulation puisse gérer le résultat. Cela n'arrive pas avec un vrai clavier (peu importe la vitesse à laquelle je tape). Je n'ai découvert cela qu'après avoir trouvé un blog sur la façon d'utiliser le driver dev usb avec le HTC Incredible.

Questions connexes