次のコードは、1000 文字のみで機能します。1000 文字を超える場合、カーソルは 999 文字の終わりに戻り、再び機能を開始します。
これは、現在のカーソル位置より前の文字数getTextBeforeCursor(n,flag)
しか提供できないためです。n
ただし、EditText では、getText()
メソッドを使用してすべてのテキストを取得でき、長さも取得できます。しかし、作成中のテキスト領域のテキスト全体の長さを取得して、カーソル位置を好きな場所に設定できるようにする方法。
InputConnection ic = getCurrentInputConnection();
ic = getCurrentInputConnection();
String str = ic.getTextBeforeCursor(1000,0).toString();
ic.setSelection(str.length()-1,str.length()-1);