【问题标题】:onClickListener to a keyboard button [closed]onClickListener 到键盘按钮 [关闭]
【发布时间】:2012-10-12 02:30:43
【问题描述】:

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

【问题讨论】:

    标签: android onclicklistener


    【解决方案1】:

    使用onKeyListener 来检查 Enter press

    例如..

    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;
        }
    });
    

    更多信息,请查看official documentation

    你也可以看到example

    【讨论】:

    • 感谢这完美!我只需要将editext 更改为我在代码中使用的那个,并在末尾添加) 以完成(new OnKeyListener() {,否则太棒了。谢谢。
    【解决方案2】:
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      它解释了如何改变回车键的动作。

      希望这会有所帮助!

      【讨论】:

        【解决方案5】:

        试试

        KeyboardView.OnKeyboardActionListener ... 虚拟键盘事件的监听器。

        进一步行动...

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-10
          • 2013-07-03
          • 2023-04-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多