web-dev-qa-db-ja.com

Androidテキストの編集でカーソル位置を取得しますか?

カスタムEditTextビューを使用しています。 OnKeyUpイベントをオーバーライドし、Enterキーを押すことをキャプチャできます。ここで私の要件は、ユーザーが「こんにちは。お元気ですか?」というテキストを入力したときです。そして、単語の後にカーソルを保持し、Enterキーを押します。Enterキーが押された瞬間にカーソルの後にテキストを抽出できるように、カーソルの位置を取得する必要があります。これを行う方法を教えてください。お時間をいただきありがとうございます。

63
Vinod

GetSelectionStart()およびgetSelectionEnd()メソッドを使用して、カーソルの位置を取得できます。テキストが強調表示されていない場合、getSelectionStart()とgetSelectionEnd()は両方ともカーソルの位置を返します。したがって、次のようなものがトリックを行うはずです。

myEditText.getSelectionStart();

または

myEditText.getSelectionEnd();

次に、カーソルの後のすべてのテキストを選択する場合、これを使用できます。

int cursorPosition = myEditText.getSelectionStart();
CharSequence enteredText = myEditText.getText().toString();
CharSequence cursorToEnd = enteredText.subSequence(cursorPosition, enteredText.length());
143
theisenp