リッチ テキスト編集用の ToggleButtons を持つ EditText を拡張するカスタム ビューがあります。やりたいオートコンプリートを許可すると、現在の単語のインジケーターがスタイル スパンの検出をトリガーします。
たとえば、ほとんどのデバイスでは、オートコレクトの対象となる単語は下線です。入力すると、テキストに適用されている現在のスタイルを追跡し、ユーザーがスタイル ボタンを切り替えた場合に新しいスパン可能要素を追加するテキスト ウォッチャーがあります。これにより、下線が検出され、トグルがオンになります。
スパンを見つける前に下線のトグルが設定されていたかどうかを確認するコードを書くことができます。(一部のデバイスでは背景色を使用して現在の自動修正単語を示すため、実際にはすべてのスタイルでこれを行う必要があります。)しかし、トグルをオフに戻すトリガーに何を使用するかはわかりません。スペースを入力したかどうかを確認しますか? 提案された単語を選択するとどうなりますか?
誰かがこれをしましたか?OS がスパンを描画したことを知るために、スパンがオートコンプリートまたはその他の通知によるものかどうかを確認する方法はありますか?