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 :

Existence "OnEditValue" editText ?


Sujet :

Android

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Existence "OnEditValue" editText ?
    Bonjour,

    j'aurais voulu savoir s'il existait un évènement de ce style pour les editText sous android car j'ai cherché mais n'ai rien trouvé ou rien compris.

    j'explique ce que je veux au cas ou je n'ai pas été clair,

    je voudrais connaitre le moindre caractère entré dans l'editText en temps réel.

    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Points : 380
    Points
    380
    Par défaut
    Oui, tu peux ajouter un "listener":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    monEditText.addTextChangedListener(new TextWatcher(){
            public void afterTextChanged(Editable s) {
                //Mets ton code ici
            }
            public void beforeTextChanged(CharSequence s, int start, int count, int after){}
            public void onTextChanged(CharSequence s, int start, int before, int count){}
        });

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup, je vais tester et reviendrai pour dire si j'ai réussi ou si j'ai encore un problème.

    edit : j'ai réussi a utiliser la première méthodes(encore merci ), mais pourrais-tu m'expliquer à quoi correspondent les argument des méthodes suivantes s'il te plait pour savoir si jamais je les utiliserai par la suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                public void beforeTextChanged(CharSequence s, int start, int count, int after){}
                public void onTextChanged(CharSequence s, int start, int before, int count){}
    merci d'avance

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Points : 380
    Points
    380
    Par défaut
    En gros :

    S : la séquence en question
    Start : Indice de départ de la chaîne S.
    Count : la taille du "morceau" de la séquence S qui sera remplacée.
    After : la nouvelle taille de la chaîne.

    Source.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    merci beaucoup,

    j'ai une dernière question :

    je voudrais pouvoir reconnaître ce que l'utilisateur entre mais j'y arrive pas, j'ai essayer plusieurs choses mais sans succès, aurais-tu une solution ?

    voila ce que j'ai essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void afterTextChanged(Editable s) {
                    //Mets ton code ici
       	        if (s.toString == ";")
                	{
                		_ed1.setText("#");
                	}
    ET
                	if (String.valueOf(s) == ";")
                	{
                		_ed1.setText("#");
                	}
    j'y arrive pas car comme c'est un type "editable" je sais pas comment récupérer sa valeur.

    merci d'avance

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Points : 380
    Points
    380
    Par défaut
    avec le "Editable s", on ne sait pas quel "EditText" a été modifié.
    L'idéal serait de tester directement le contenu de ce dernier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String contenuDeEditText= monEditText.getText().toString();

  7. #7
    Membre actif Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Points : 212
    Points
    212
    Par défaut
    Et, accessoirement, le test d'égalité de deux chaînes de caractères se fait à l'aide de la méthode equals, l'opérateur == testant l'égalité des références et non des valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String contenuDeEditText = ...
    if (contenuDeEditText.equals(";") {
     ...
    }

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