From the official Android page
Note. When handling keyboard events with the KeyEvent class and its associated APIs, you should expect that such keyboard events will only come from the hardware keyboard. You should never rely on receiving key events for any key using the soft key input method (on-screen keyboard).
, TextWatcher , SoftKeyboard, :
myEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});