0

キーの押下をキャッチして、キーコードを返す必要があります。ソフトウェアキーボードで押されたキー、それについての例と説明を見つけようとしましたが、それらは少し曖昧です。

キーボードのキーが押されたときのキャッチ方法を知っている人はいますか?(onKeyListenerは私には良くないことを理解しており、onKeyActionListenerを見つけましたが、それでも使用方法と、本当に必要なものかどうかを理解していませんでした)

4

2 に答える 2

1

あなたが探しているのは

editText.setOnKeyListener(new OnKeyListener()
    {
        public boolean onKey(View v, int keyCode, KeyEvent event)
        {
            if (event.getAction() == KeyEvent.ACTION_DOWN)
            {
                switch (keyCode)
                {

                    case KeyEvent.KEYCODE_ENTER: //or any other key
                        //do something
                        return true;
                    default:
                        break;
                }
            }
            return false;
        }
    });
于 2012-10-10T13:35:01.573 に答える
1

回避策を使用した同様の質問への回答を次に示します。

のOnEditorActionListenerもチェックアウトできますTextView

ほとんどの場合、通常の KeyListener が機能しますが、ドキュメントからの引用は次のとおりです。

ソフト入力メソッドでキーを押しても、このリスナーのメソッドをトリガーする必要はなく、実際にはそうしないことをお勧めします。デフォルトの Android キーボードは、Jelly Bean 以降を対象とするアプリケーションのキーに対してこれらをトリガーせず、Ice Cream Sandwich 以前を対象とするアプリケーションへのいくつかのキー押下に対してのみ配信します。

于 2012-10-10T14:00:43.347 に答える