2011-01-06 13 views
28

私の質問は:ソフトキーボードのアクションボタンの表示を即座に更新するにはどうすればいいですか?エディタアクションボタンの表示を即座に更新するにはどうしたらいいですか?

もう1つの投稿は、キーボードが表示される前にエディタの動作を変更しているようです:Android: Can't figure how to use setImeActionLabel。私はそれが表示されている間、ソフトキーボードのアクションボタンを変更したいと思います。

私は部分的に成功しました: - 私は以下を使用してアクションを変更できます:editText.setImeOptions(EditorInfo.IME_ACTION_GO); - キーボードを次のように再描画することもできます:InputMethodManager.restartInput(editText); 私はこれをTextWatcher.afterTextChangedを使って行います。 - しかし、私はこれに問題があります。キーを押すと、そのキーの上にどのキーが押されたかが表示されます。しかし、restartInput(...)を呼び出すと、どのキーが押されたかを示すビューも隠れてしまいます。これは私にとっては正常な動作ですが、周りに道が必要です。

EditTextを拡張してonKeyUpを上書きすることはお勧めできません。https://groups.google.com/forum/?fromgroups#!topic/android-developers/RIxGfx5qOjMを参照してください。

KeyboardViewクラスは、私が必要とするもの(invalidateKey)を持っていますが、独自の入力メソッドを作成した場合にのみアクセスできます。

他にも優れたアイデアがありますか?

+0

ビュー自体の無効化は機能しませんでしたか? –

答えて

1

だから、あなたが何をしたいです

..私はあなたの要求を理解することができるようにあなたのポストを何度も読むために必要な...あなたがやりたいん内容を説明する際、より具体的にしてみてください。どのようにキーボードに押されたキーに反応し、それに関する情報をキーボードのアクションキーに表示するか。 これはあなたの目標plzをもっと説明するものではない場合...

もしそうなら、あなたはadditionalaL EditText(不可視)を使用する必要があると思いますので、et0を呼び出すことができます。あなたの編集テキストでontextchangedを使って定義した文字やパターンを挿入し終えたら、et0 ..にフォーカスを変更して、actionKey ..を変更してeditTextにフォーカスを戻すことができます。スレッドやtimertask、またはet0 .. ここに入力の再起動の必要はありませんからこの一時的なフォーカスの変更を管理する方法。 ..

1

をお手伝いします

希望は、あなたが再描画コードを呼び出す前に、オンザフライ/system/usr/keychars/default.kcm変更しようとしたことがありますか? (ファイル名はAndroidのバージョンによって異なる場合があります)。

キー出力文字だけでなく、キー表示値も設定できます。私はそれを試していない、それはまた、遅延が発生する可能性がありますが、試してみる価値がある。

0

これは非常に便利です。

EditText in = new EditText(this); 
in.addTextChangedListener(new TextWatcher() { 
    public void onTextChanged(CharSequence cs, int s, int b, int c) { 
     Log.i("Key:", cs.toString()); 
    } 
    public void afterTextChanged(Editable editable) {} 
    public void beforeTextChanged(CharSequence cs, int i, int j, int k) {} 
}); 
+0

次回は、コードを掲示するためにタグを使用してください。 – Flawyte

+0

ようこそ、ここでは、ソリューションの使用方法を説明するだけでなく、その理由を説明することをお勧めします。それはあなたの答えをより価値のあるものにし、読者があなたのやり方をより良く理解できるようにします。また、私たちのよくある質問をご覧ください:http://stackoverflow.com/faq。 – ForceMagic

関連する問題