3

アクティビティに EditText フィールドがあります。ユーザーは、仮想キーボードを使用してそのフィールドのテキストを変更できます。ユーザーがキーボードの Enter キーを押したら、何らかのアクションを実行したいと思います。では、キーボードの入力ボタンに setOnClickListener を実装するにはどうすればよいでしょうか。

4

5 に答える 5

8

確認に使用onKeyListenerEnter キーを押します

たとえば。

edittext.setOnKeyListener(new OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (event.getAction()!=KeyEvent.ACTION_DOWN)
            return false;
        if(keyCode == KeyEvent.KEYCODE_ENTER ){
            //your necessary codes...
            return true;
        }
        return false;
    }
});

詳細については、公式ドキュメントを確認してください

また、その例を見ることができます

于 2012-10-22T09:49:03.370 に答える
2

以下のものと重複する可能性があります。

ボタンをクリックする代わりに、ソフトキーボードの「ENTER」キーを使用します

ソフト キーボードの Enter ボタン - Android

これらが役立つことを願っています

于 2012-10-22T09:51:02.000 に答える
2

テキスト ビューでアクションが実行されたときに呼び出される特別なリスナーを設定します。これは、Enter キーが押されたとき、または IME に提供されたアクションがユーザーによって選択されたときに呼び出されます。これを設定すると、通常のハード キー イベントでは、改行が複数行であっても、テキスト ビューに挿入されません。ただし、ALT 修飾子を押したままにすると、ユーザーは改行文字を挿入できます。

edittext.setOnEditorActionListener(new OnEditorActionListener() {

            @Override
            public boolean onEditorAction(final TextView v, final int actionId, final KeyEvent event) {
                if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
                    //perform your action
                    //button.performClick();
                }
                return false;
            }
        });
于 2012-10-22T09:52:14.837 に答える
0

私はあなたのために少し調査を行い、これを見つけました: Androidで仮想キーボードの<ENTER>キーの動作をオーバーライドする方法

エンターキーの動作を変更する方法を説明します。

お役に立てれば!

于 2012-10-22T09:50:11.040 に答える
0

試す

KeyboardView.OnKeyboardActionListener ... 仮想キーボード イベントのリスナー。

さらなるアクションのために...

http://developer.android.com/reference/android/inputmethodservice/KeyboardView.OnKeyboardActionListener.html

于 2012-10-22T09:50:21.250 に答える