我一直在嘗試捕獲過去幾個小時的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 –