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

时间:2011-08-01 15:04:38

标签: android android-edittext android-keypad

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

1 个答案:

答案 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());