0

次のコードは、1000文字しか使用できません。 1000文字以上の文字がある場合、カーソルは999文字の末尾にジャンプし、再び作業を開始します。Androidのソフトキーボード(EditTextやTextViewではなく!!!)のカーソル位置を設定する方法は?

これは、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); 
+0

EditTextを使用していますか? –

+0

いいえ、任意のテキストフィールド/エリアで使用できるカスタムソフトキーボードです。 – Naung

+1

私はそれを見つけました!ちょうど他のpplを共有します sendDownUpKeyEvents(KeyEvent.KEYCODE_DPAD_LEFT); – Naung

答えて

0

それは非常に簡単です。私はちょうど私がソフトで働いているときに解決を得ました キーボード。

CharSequence textBeforeCursor = getCurrentInputConnection().getTextBeforeCursor(1000, 0); 

CharSequence textAfterCursor = getCurrentInputConnection().getTextAfterCursor(1000, 0); 

そしてちょうど計算し、二つの値以上の長さを加えることによって、あなた は、テキスト領域を構成するの長さを得ることができます。

問題があれば私に知らせてください。

関連する問題