2009-09-02 6 views
0

L'écran d'accueil de mon application Android dispose de trois vues EditText, destinées à être utilisées comme trois fonctions de recherche différentes, chacune avec un bouton "Rechercher". L'application fonctionne parfaitement sur l'appareil (G1) lors de l'utilisation de la trackball: Je peux déplacer entre les EditTexts avec la trackball, tous les événements se déroulent comme prévu, je peux entrer du texte en utilisant le clavier physique dans l'EditText sélectionné, Entrée soumet correctement la recherche appropriée, etc. etc.Plus d'un EditText - pas de mise au point, pas de clavier logiciel? (Android)

Cependant, je ne peux pas basculer entre les vues EditText en utilisant des touches - seulement en utilisant la boule de commande. Les touches semblent être complètement ignorées par EditText. Touches faire feu pour les boutons, mais très dur - prend beaucoup d'essais pour faire un registre tactile. Dans le simulateur, cliquer sur n'importe quel EditText ne fait rien - le premier reste toujours sélectionné, et je n'ai jamais de clavier virtuel.

Tout est dans un TabHost - J'ai lu qu'il y a quelques problèmes avec cette configuration, mais cela ressemble à un problème légèrement différent (l'EditText ne semble pas perdre le focus - tout fonctionne parfaitement avec la trackball).

Des suggestions pour ce que je peux vérifier?

+0

Pourriez-vous nous montrer votre mise en page XML? –

Répondre

0

Ah, je l'ai compris.

J'ai eu un ListView laissé dans ma mise en page depuis la première fois que j'ai configuré TabHost. Puisqu'il n'a rien montré sur l'écran, et il était au fond de mon fichier de mise en page après tout le reste, je ne l'ai pas remarqué ... J'ai juste remarqué qu'il ne lui appartenait pas et l'a effacé, et toutes les commandes commencé à se comporter correctement.

D'oh.

0

Il semble que vos cibles tactiles soient trop petites. Je suggère d'ajouter du padding à chacun de vos EditTexts, ou d'utiliser un TouchDelegate pour augmenter la taille de la cible tactile.

+0

Merci pour la réponse! Cependant, cela ne semble pas faire beaucoup de différence ... Je place le padding pour l'un des EditTexts à 100px, il occupe près de la moitié de l'écran, mais il n'obtiendra toujours pas le focus. La seule fois où EditText prend le focus est quand l'un des boutons est sélectionné, et je touche n'importe où ailleurs que sur le bouton - mais même alors, seul le premier EditText est mis au point, donc il semble que le bouton manque de focus il est donné au premier élément focalisable sur l'écran. Soit il y a des règles de mise au point que je ne comprends pas, ou quelque chose d'autre capture les touches ... –

Questions connexes