1. ホーム
  2. android

[解決済み] Androidのテキスト編集でカーソル位置を取得するには?

2023-05-04 06:25:53

質問

カスタムのEditText Viewを使用しています。OnKeyUp イベントをオーバーライドし、Enter キー押下をキャプチャすることができます。私の要件は、ユーザーがテキストを入力したとき "Hi. How are you?" そして単語 "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());