Кто-нибудь еще обнаружил, что слушатель клавиш не реагирует на нажатия клавиш на клавиатуре или виртуальной клавиатуре?
Я использовал учебник (неработающая ссылка на Whyandroid удалена)
и заметил, что единственное время, когда кнопка расчета доступна, - это если я нажимаю нецифровую кнопку в текстовом поле, чтобы активировать ключевой слушатель. При нажатии цифр (вверху клавиатуры или на виртуальной клавиатуре) он не запускает прослушиватель клавиш (проверено в режиме отладки). Это не полезно, если предполагается, что пользователь вводит цифры только в текстовое поле!
Я не смог найти никакой информации, когда гуглял по этой теме.
Код KeyListener:
private OnKeyListener mKeyListener = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch (v.getId()) {
case R.id.txtAmount:
case R.id.txtPeople:
btnCalculate.setEnabled(txtAmount.getText().length() > 0
&& txtPeople.getText().length() > 0);
return true;
case R.id.txtTipOther:
btnCalculate.setEnabled(txtAmount.getText().length() > 0
&& txtPeople.getText().length() > 0
&& txtTipOther.getText().length() > 0);
return true;
}
return false;
}
};