IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Attacher un écouteur à la fermeture du clavier soft


Sujet :

Android

  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Attacher un écouteur à la fermeture du clavier soft
    Bonjour à toutes et à tous,

    Je pense avoir déjà vu une solution, mais je n'arrive pas à la retrouver.

    Je cherche un écouteur qui détecte quand on ferme le clavier après une saisie de texte. Cet écouteur serait commun à tous les d'EditText étant dans la vue. Cet écouteur renverrait l'EdiText qui a motivé l'ouverture du clavier.

    Merci de votre aide.

    Pierre

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Salut , c'est un changement de configuration , il faut donc l'écouter comme tel :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
     
        if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
            Toast.makeText(this, "Clavier visible", Toast.LENGTH_SHORT).show();
        } else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
            Toast.makeText(this, "Clavier invisible", Toast.LENGTH_SHORT).show();
        }
    }
    Voir : http://developer.android.com/guide/t...dlingTheChange

    J'imagine qu'il est également possible de customiser un edittext et d'écouter l'appuis sur "back" qui correspond à l'annulation du clavier , mais ça me semble un peu compliqué et pas très robuste.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Merci "grunk" pour cette proposition.
    J'ai inclus cet écouteur dans mon application, dans une vue secondaire, c'est là que j'en ai besoin. J'ai aussi ajouté au fichier manifest la clé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                android:configChanges="keyboardHidden"
    Au résultat, l'écouteur n'est même pas appelé ??

    Je l'ai aussi ajouté à ma fenêtre principale, rien n'y fait ???

    Cordialement.

    Pierre

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Je viens de me rendre compte que cette solution ne marche que pour les claviers physiques !

    A priori il existe pas de solution simple pour avoir cet événement. Peut être y'a'il un problème de conception derrière ce besoin ?

    Sinon voir quelques solutions sur ce thread : http://stackoverflow.com/a/7423586/393984
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Bon, ce n'est pas grave, car de toute façon, cet écouteur ne me renseignait pas sur l'EditText en cours.

    J'ai trouvé une solution basée sur cet article. La voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    		EditText.OnEditorActionListener listener = new EditText.OnEditorActionListener() {
     
    			@Override
    			public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    				if (actionId == EditorInfo.IME_ACTION_DONE) {
    					String text = v.getText().toString();
    					if (v.getId() == monTextEdit1.getId())
    						// action pour onTextEdit1
    					if (v.getId() == monTextEdit1.getId())
    						// action pour monTextEdit2
    				}
    				return false;
    			}
    		};
     
    		monTextEdit1.setOnEditorActionListener(listener);
    		monTextEdit2.setOnEditorActionListener(listener);
    Il faut bien sûr ajouter ce paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:imeOptions="actionDone"
    à chaque EditText concerné.

    Cordialement.

    Pierre

Discussions similaires

  1. Fermeture du clavier
    Par DotNET74 dans le forum Windows Phone
    Réponses: 3
    Dernier message: 31/10/2012, 11h03
  2. Fermeture du clavier
    Par TsCyrille dans le forum Android
    Réponses: 2
    Dernier message: 08/07/2010, 14h17
  3. Comment désactiver les écouteurs liés au clavier
    Par Takeo77 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 03/07/2008, 12h24
  4. Fermeture session CITRIX ou TSE par soft
    Par VLDG dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 30/05/2006, 08h55
  5. Problème d'écouteur clavier
    Par m@t dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 19/01/2005, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo