在编辑文本中获取Android中的光标位置?

问题描述:

我正在使用自定义的EditText视图。我已经覆盖了OnKeyUp事件并能够捕获Enter键按下。现在我的要求是,当用户输入文字“嗨,你好吗?”然后将光标保留在单词“are”后面并按下回车键,我需要获取光标位置,这样我可以在按下Enter键的同时提取光标后面的文本。请让我知道如何做到这一点。感谢您的时间和帮助。在编辑文本中获取Android中的光标位置?

您可以使用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());