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.
Réponse
Trop de publicités?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());