Je ne comprends pas pourquoi ce morceau de code ne fonctionne pas. Seuls les retours arrière et les touches de retour sont détectés. L'écouteur ne se déclenche pour aucune autre clé. Mon appareil est Nexus One.onKeyListener ne fonctionne pas sur le clavier virtuel
J'ai essayé de surcharger la méthode OnKeyDown de l'activité et c'est encore pire. Le seul bouton détecté était le bouton de retour matériel.
Je vois autour d'une suggestion pour utiliser TextWatcher et onTextChanged, alors que cela pourrait fonctionner dans certains cas, ce n'est pas un vrai problème. Par exemple, si la zone de texte est vide, vous ne détecterez pas si l'utilisateur appuie sur le bouton BackSpace (Supprimer). Alors, des idées?
TextView txtInput = (TextView)findViewById(R.id.txtInput);
txtInput.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
makeToast(keyCode + " key pressed");
return true;
}
});
Eh bien, j'ai passé 4 bonnes heures sur ce problème. Il semble que personne n'a de solution pour cela. Peu de gens suggèrent également d'utiliser OnKeyboardActionListener, mais ne trouvent aucun exemple sur la façon de l'utiliser. – bobetko
Exemple trouvé ici: http://developer.android.com/resources/samples/SoftKeyboard/src/com/example/android/softkeyboard/SoftKeyboard.html – bobetko
Je ne suis pas sûr que l'exemple de touches programmables fonctionnera pour moi. Je ne veux pas écrire une autre méthode de saisie. Je veux simplement montrer la méthode de saisie par défaut sur l'écran (clavier android habituellement) et capturer n'importe quelle touche. Pourquoi cette tâche semble si décourageante? Je suis frustré. – bobetko