私は Android ソフト キーボードに取り組んでいますが、疑問に思っていました。キーボードが現在のカーソル位置を取得する方法はありますか? 現在、次のコードを使用しています。
connection.getTextBeforeCursor(Integer.MAX_VALUE, 0).length()
ただし、これは非常に遅いです (少量のテキストの場合でも、最大 50 ミリ秒かかることがあります。Galaxy Nexus で実行されているため、ローエンドの携帯電話ではさらに遅くなる可能性があります)。Droid Incredible でもテストしましたが、遅延はさらに深刻です。
関数 onUpdateSelection では、新しいカーソル位置が与えられます。ただし、この関数は常に呼び出されるとは限らないため、将来の使用のために提供される値を保存することは信頼できません。
カーソルの位置を設定して選択したテキストを取得できる (ただし、選択したテキストの位置は取得できない) ので、カーソル位置を取得する関数があればいいのではないでしょうか?
助けてくれてありがとう!