我正在使用自定义的 EditText 视图。我已经重写了 OnKeyUp 事件并且能够捕获 Enter 键按下。当用户输入文本“嗨。你好吗?”然后将光标保留在“are”一词后面并按 Enter 键,我需要获取光标位置,以便在按下 Enter 键时提取光标后面的文本。
您可以使用 getSelectionStart() 和 getSelectionEnd() 方法获取光标位置。 如果没有突出显示文本,则 getSelectionStart() 和 getSelectionEnd() 都返回光标的位置。 所以像这样的事情应该可以解决问题:
myEditText.getSelectionStart();
或
myEditText.getSelectionEnd();
然后,如果您想选择光标后的所有文本,您可以使用以下命令:
int cursorPosition = myEditText.getSelectionStart();
CharSequence enteredText = myEditText.getText().toString();
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());