2016-09-07 52 views
1

我想添加一个功能,点击谷歌键盘的“输入”键而不消除默认的换行符特性。我已经使用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; 
    } 
}); 

相同的代码与其他键盘一起工作。

回答

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