2012-04-19 8 views
0

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

onclicklistenerを呼び出すとInputMethodManagerを使用してソフトキーボードを表示し、次にOnkeydownを使用してキープレスをインターセプトすることを試みました。私は、標準のテキストや数値の入力方法を切り替えることができるよ

  1. :これは不格好であると動作しません。他のインプットメソッドは機能しません(私は日本語のIMEに切り替えることができる必要があります。

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

標準ビューとIMEとの間にエディットテキストと同様の接続を設定する方法はありますか?

答えて

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); 
} 
関連する問題