0

View クラスを拡張してカスタム ビューを作成しました。クリックすると、編集テキストの場合と同じように、ソフトキーボードがポップアップするようにします(つまり、予測テキストをオンにして、使用可能なすべての入力方法を選択する機能を使用します)。

ビューを拡張しonclicklistenerて、呼び出されたときInputMethodManagerにソフトキーボードを表示し、次にOnkeydownキーの押下をインターセプトするために使用するようにしました。これは扱いにくく、次の理由で機能しません。

  1. 標準のテキスト入力方法と数値入力方法を切り替えることしかできません。他の入力方法は機能しません (編集テキストのように、ユーザーが日本語 IME を持っている場合は日本語 IME に切り替える必要があります)。

  2. ユーザーが日本語の漢字を入力する必要があるため、プログラムに絶対に必要な予測テキストはありません。

edittext と同様に、標準ビューと IME の間の接続を設定する方法はありますか?

4

1 に答える 1

1

予測テキストを表示するには、システムが受け入れることができる EditorInfo タイプを設定する必要があります。このようなもの:

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
       // TODO Auto-generated method stub
       // Set your EditorInfo type in the onCreateInputConnection
       outAttrs.actionLabel = null;
       outAttrs.inputType = InputType.TYPE_CLASS_TEXT;
       outAttrs.imeOptions = EditorInfo.IME_ACTION_NEXT;
       return new MyBaseInputConnection(this, false);
}
于 2012-06-14T06:38:56.887 に答える