3

我的活动中有一个 EditText 字段。用户可以使用虚拟键盘更改该字段中的文本。一旦用户按下键盘上的回车键,我想执行一些操作。那么,如何在键盘上的回车按钮上实现 setOnClickListener 呢?

4

5 回答 5

8

用于onKeyListener检查 Enter 按下

例如。

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”键而不是单击按钮

软键盘上的输入按钮 - Android

希望这些帮助

于 2012-10-22T09:51:02.000 回答
2

设置在文本视图上执行操作时要调用的特殊侦听器。这将在按下回车键或用户选择提供给 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

我为您做了一些研究,发现了这一点: How to override the <ENTER> key behavior of the virtual keyboard in Android

它解释了如何更改回车键的操作。

希望这可以帮助!

于 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 回答