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

问题描述 投票:0回答:1

我正在使用自定义的 EditText 视图。我已经重写了 OnKeyUp 事件并且能够捕获 Enter 键按下。当用户输入文本“嗨。你好吗?”然后将光标保留在“are”一词后面并按 Enter 键,我需要获取光标位置,以便在按下 Enter 键时提取光标后面的文本。

android android-edittext android-keypad
1个回答
194
投票

您可以使用 getSelectionStart() 和 getSelectionEnd() 方法获取光标位置。 如果没有突出显示文本,则 getSelectionStart() 和 getSelectionEnd() 都返回光标的位置。 所以像这样的事情应该可以解决问题:

myEditText.getSelectionStart();

myEditText.getSelectionEnd();

然后,如果您想选择光标后的所有文本,您可以使用以下命令:

int cursorPosition = myEditText.getSelectionStart();
CharSequence enteredText = myEditText.getText().toString();
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());
© www.soinside.com 2019 - 2024. All rights reserved.