2010-06-02 6 views
6

J'essaie d'obtenir un nombre de caractères d'un EditText. J'ai regardé dans différentes propriétés des classes EditText et TextView, mais il ne semble pas y avoir une fonction qui renvoie la quantité de caractères. J'ai essayé d'utiliser le TextWatcher, mais ce n'est pas idéal car parfois je charge un message sauvegardé dans l'EditText à partir des préférences, et TextWatcher ne compte pas les caractères non tapés alors.Obtenir le nombre de caractères de EditText

Toute aide serait géniale!

À la votre!

+0

Je sais que déjà répondu. Mais cela peut aider les autres. Vous pouvez également utiliser editText.length() – FaisalAhmed

Répondre

23

Il suffit de saisir le texte dans la EditText comme une chaîne et vérifier sa longueur:

int length = editText.getText().length(); 
+0

Génial, mais comment pouvons-nous afficher ce compte TextView juste en-dessous de l'edittext et devrait être visible pendant que l'utilisateur tape. Nous savons qu'il n'y a pas d'espace pour montrer quoi que ce soit entre le clavier et l'edittext. Merci. –

10
EditText edittext; 
private final TextWatcher mTextEditorWatcher = new TextWatcher() { 

     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      //This sets a textview to the current length 
      textview.setText(String.valueOf(s.length()); 
     } 

     public void afterTextChanged(Editable s) { 
     } 
}; 
editText.addTextChangedListener(mTextEditorWatcher); 
+0

vous pouvez simplement obtenir l'EditText ang obtenir son texte en tant que chaîne et obtenir la longueur de cette chaîne. –

+0

Ce n'est pas wroking. –