1
votes

Pourquoi EditText ne perd-il pas le focus une fois le clavier virtuel masqué?

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?


0 commentaires

3 Réponses :


1
votes

C'est le comportement par défaut d'Android. Vous pouvez appeler view.clearFocus () en appuyant sur la touche Entrée pour annuler cela.


0 commentaires

0
votes

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.


0 commentaires

-1
votes

- 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;
        }
    });


0 commentaires