我一直在尝试捕获过去几个小时的Enter键,但我无法在侦听器中接听电话。我正在尝试提供“按Enter键发送”。但我总是注册OnKeyListener。几个键可以随机调用。Android无法在EditText上捕获Enter键
它不是重复的,因为所有答案都提供了相同的一组细节,这是一个标准代码。我使用Nexus 6P
我的代码:
public void onCreate(){
//set press enter to save state
anEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent event) {
if(keyCode ==
EditorInfo.IME_ACTION_SEND || event.getKeyCode() == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
if (new SharedPrefsManager(mContext).getBoolean(StringConstants.KEY_PRESS_ENTER_TO_SAVE, false)) {
Toast.makeText(mContext, "Enter pressed, to save", Toast.LENGTH_SHORT).show();
}
return true;
}
return false;
}
});
}
@OnCheckedChanged(R.id.check_enter_to_send)
public void enterToSendChecBoxClicked(CompoundButton buttonView, boolean isChecked){
// 1. set the preference
new SharedPrefsManager(mContext).putBoolean(StringConstants.KEY_PRESS_ENTER_TO_SAVE, isChecked);
}
围绕'IME_ACTION_SEND'和'KEYCODE_ENTER'尝试括号有条件 –
@ cricket_007我的onKey()本身没有被调用,所以问题不在逻辑中。 – Ichthyocentaurs
看过这个吗? http://stackoverflow.com/a/4889059/2308683 –