web-dev-qa-db-fra.com

Obtenez la position du curseur dans Android dans Modifier le texte?

J'utilise une vue EditText personnalisée. J'ai annulé l'événement OnKeyUp et je peux capturer la touche Entrée. Maintenant, mon exigence est, lorsque l'utilisateur a entré un texte "Salut. Comment allez-vous?" puis garde le curseur après le mot "are" et appuyez sur Entrée, j'ai besoin d'obtenir l'emplacement du curseur afin que je puisse extraire le texte après le curseur au moment où la touche Entrée a été enfoncée. S'il vous plait, faites moi savoir comment faire ça. Merci pour votre temps et votre aide.

63
Vinod

Vous pouvez obtenir la position du curseur à l'aide des méthodes getSelectionStart () et getSelectionEnd (). Si aucun texte n'est mis en surbrillance, getSelectionStart () et getSelectionEnd () renvoient la position du curseur. Donc, quelque chose comme ça devrait faire l'affaire:

myEditText.getSelectionStart();

ou

myEditText.getSelectionEnd();

Ensuite, si vous souhaitez 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());
143
theisenp