【问题标题】:Enter key listener for Google keyboard is not working谷歌键盘的输入键监听器不起作用
【发布时间】:2016-09-07 16:51:48
【问题描述】:

我想在单击 Google 键盘的“输入”键时添加一项功能,而不会消除默认的换行符特征。我用过 OnKeyListener 但它不起作用。

      EditText edittext = (EditText) findViewById(R.id.user_query);
      edittext.setOnKeyListener(new OnKeyListener() {
      public boolean onKey(View v, int keyCode, KeyEvent event) {
          if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode ==KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_DPAD_CENTER)) {
          //here  i want to print numbers with next line in edit text
          return true;
    }
    return false;
    }
});

同样的代码也适用于其他键盘。

【问题讨论】:

    标签: android android-softkeyboard


    【解决方案1】:

    here 所述

    当硬件键调用回调的接口定义 事件被分派到这个视图。回调将在之前调用 关键事件被赋予视图。这仅对硬件有用 键盘;软件输入法没有义务触发这个 听众。

    最安全的选择是在您的情况下使用 addTextChangedListener,如下所示

    editText.addTextChangedListener(new TextWatcher() {          
         @Override
         public void onTextChanged(CharSequence s, int start, int before, int count) {                                   
             //here is your code       
        }                       
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                            int after) {
            // TODO Auto-generated method stub                          
        }                       
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub                          
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2021-02-11
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多