我正在使用自定义的EditText View。我已经覆盖了OnKeyUp事件,并且能够捕获Enter键按下。现在我的要求是,当用户输入文字“你好。你好吗?”然后将光标保持在单词“are”之后并按回车键,我需要获取光标位置,以便我可以在按下Enter键时提取光标后的文本。请让我知道如何做到这一点。感谢您的时间和帮助。
答案 0 :(得分:140)
您可以使用getSelectionStart()和getSelectionEnd()方法获取Cursor位置。如果没有突出显示文本,则getSelectionStart()和getSelectionEnd()都将返回游标的位置。所以这样的事情应该可以解决问题:
myEditText.getSelectionStart();
或
myEditText.getSelectionEnd();
然后,如果要选择光标后面的所有文本,可以使用:
int cursorPosition = myEditText.getSelectionStart();
CharSequence enteredText = myEditText.getText().toString();
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());