Получить позицию курсора в Android в Редактировать текст? - PullRequest
62 голосов
/ 01 августа 2011

Я использую пользовательский вид EditText. Я переопределил событие OnKeyUp и могу перехватить нажатие клавиши Enter. Теперь мое требование, когда пользователь ввел текст "Привет. Как дела?" а затем удерживает курсор после слова «are» и нажимает ввод, мне нужно получить местоположение курсора, чтобы я мог извлечь текст после курсора в момент нажатия клавиши Enter. Пожалуйста, дайте мне знать, как это сделать. Спасибо за ваше время и помощь.

1 Ответ

142 голосов
/ 01 августа 2011

Вы можете получить позицию курсора, используя методы getSelectionStart () и getSelectionEnd (). Если текст не выделен, оба getSelectionStart () и getSelectionEnd () возвращают позицию курсора. Так что-то вроде этого должно сделать свое дело:

myEditText.getSelectionStart();

или

myEditText.getSelectionEnd();

Тогда, если вы хотите выделить весь текст после курсора, вы можете использовать это:

int cursorPosition = myEditText.getSelectionStart();
CharSequence enteredText = myEditText.getText().toString();
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...