J'essaie d'attraper des événements onKey à partir d'un clavier virtuel. Cependant, seules quelques touches déclenchent l'événement onKey (Supprimer, Retour, etc.). caractères pas réguliers. Quelqu'un sait pourquoi?Android onKey n'est pas viré pour clavier virtuel sur un Nexus
Répondre
Si vous tentez de capturer des frappes normales à partir d'une vue EditText, vous devrez utiliser la méthode suivante pour écouter les pressions sur les touches. Votre méthode onTextChanged sera déclenchée à chaque pression de touche, ce qui vous permet de faire ce que vous devez faire.
mEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable editable){
}
@Override
public void beforeTextChanged(CharSequence text, int start, int count, int after){
}
@Override
public void onTextChanged(CharSequence arg0, int start, int before, int count) {
//doStuff
}
});
Merci. va essayer l'approche TextWatcher – oriharel
Pas moyen de tirer EditText # Méthode setText sous TextWatcher, ce qui provoquera une erreur stackoverflow. –
Exécutez-vous ceci dans un TextView? Si votre curseur est dans un TextView, il ne déclenchera pas l'événement. Le dos, la maison, etc. sont des cas spéciaux. – glr
Je seconde ce gyller, Si vous utilisez un EditText, essayez d'implémenter votre logique avec l'interface TextWatcher. – Shardul
Merci. va essayer l'approche TextWatcher – oriharel