2010-08-28 (土)
少し文字列入力周りを追いかけてみる.
TextView使わずに日本語を含めた入力を受け付けるのは意外と面倒ですね.変換中の表示とかも考慮しないとみたいですし.SDKのリファレンスも説明がほとんど無い.
*[Android] EditTextやTextViewで日本語変換中の範囲を知る
TextView.addTextChangedListenerでテキストが変更されたときの処理を書けますが,IMEの変換中でもTextWatcher.onTextChangedが飛んでくるので,できれば変換中の中途半端な文字列は除きたい.
getText()で取得したCharSequenceからBaseInputConnection.getComposingSpanStartで変換中の範囲が取得できるので,変換中の範囲が分かるようです.