78 votes

Obtenir la position du curseur dans Android dans l'édition de texte ?

J'utilise une vue EditText personnalisée. J'ai remplacé l'événement OnKeyUp et je suis capable de capturer la pression de la touche Entrée. Maintenant, mon exigence est la suivante : lorsque l'utilisateur a saisi un texte "Hi. How are you ?" et qu'il maintient le curseur après le mot "are" et appuie sur la touche Entrée, j'ai besoin d'obtenir l'emplacement du curseur afin de pouvoir extraire le texte après le curseur au moment où la touche Entrée a été pressée. Veuillez me faire savoir comment procéder. Merci pour votre temps et votre aide.

171voto

theisenp Points 4190

Vous pouvez obtenir la position du curseur en utilisant les méthodes getSelectionStart() et getSelectionEnd(). Si aucun texte n'est mis en évidence, getSelectionStart() et getSelectionEnd() renvoient toutes deux la position du curseur. Donc quelque chose comme ceci devrait faire l'affaire :

myEditText.getSelectionStart();

ou

myEditText.getSelectionEnd();

Ensuite, si vous voulez sélectionner tout le texte après le curseur, vous pouvez utiliser ceci :

int cursorPosition = myEditText.getSelectionStart();
CharSequence enteredText = myEditText.getText().toString();
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X