Comment EditText
conserve-t-il le focus une fois le clavier virtuel masqué (l'utilisateur appuie sur le bouton Terminé / Entrée / Recherche )?
Pourriez-vous s'il vous plaît me fournir quelques explications à ce sujet?
3 Réponses :
C'est le comportement par défaut d'Android. Vous pouvez appeler view.clearFocus () en appuyant sur la touche Entrée pour annuler cela.
Votre application et le clavier virtuel Android ( stock one ) sont des processus d'application différents. Et tandis que Android se charge de "notifier" l'application de clavier virtuel sur les EditText
demandes de focus de votre application, ni Android ni l'application de clavier virtuel ne doit être responsable des EditText
changements de focus de votre application. Votre application dispose de suffisamment de rappels du clavier virtuel pour effacer la mise au point.
- Ajoutez la ligne de code suivante dans votre activité spécifique.
EditText edt_user = findViewById(R.id.edt_user); InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE); imm.showSoftInput(edt_user,0); edt_user.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { edt_user.clearFocus(); } return false; } });