输入谷歌键盘的关键监听器不起作用

时间:2016-09-07 16:51:48

标签: android android-softkeyboard

我想点击"输入"添加功能。谷歌键盘的关键,没有消除默认的换行特性。我使用过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;
    }
});

相同的代码正在与其他键盘一起使用。

1 个答案:

答案 0 :(得分:0)

如上所述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                          
    }
});