カスタム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 に答える