があるのに がないのはsetSelection
なぜですか?InputConnection
getSelection()
getTextBeforeCursor(VERY_HIGH_NUMBER, 0)
その文字列の を実行して計算するだけ.length()
ですか?
があるのに がないのはsetSelection
なぜですか?InputConnection
getSelection()
getTextBeforeCursor(VERY_HIGH_NUMBER, 0)
その文字列の を実行して計算するだけ.length()
ですか?
getSelection()
同意します、存在しないのはばかげています。あなたのソリューションは問題なく動作しますが、選択したテキスト範囲全体ではなく、カーソルが表示されているだけであると想定する必要があります。その穴を埋める方法はまだわかっていません。
編集: ああ、もちろん:
int selStart = ic.getTextBeforeCursor(HIGH_NUMBER, 0).length();
String sel = ic.getSelectedText();
int selEnd = selStart + (sel==null? 0: sel.length());
この問題がありました。EditText
my への参照をリファクタリングして、唯一のものを使用したかったのInputConnection
です。選択の開始と終了を取得するために、getExtractedText(…)
次のような方法を使用することになりました。
private static final ExtractedTextRequest request = new ExtractedTextRequest();
private InputConnection ic;
// …
ExtractedText extractedText = ic.getExtractedText(request, 0);
int start = extractedText.selectionStart;
int end = extractedText.selectionEnd;