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