我正在使用自定义的EditText视图。我重写了OnKeyUp事件,并能够捕获Enter键按下。现在我的要求是,当用户输入文本“嗨。你好吗?”然后将光标放在单词“are”之后并按Enter键时,我需要获取光标位置,以便在按Enter键时提取光标后的文本。请告诉我如何做到这一点。感谢您的时间和帮助。
我正在使用自定义的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());