У меня есть кнопка, сфокусированная на представлении. Также у меня есть переопределенный метод onKeyDown().
Теперь, когда кнопка нажимается с помощью пульта дистанционного управления, вызывается onClickListener, но почему onKeyDown() не вызывается.
У меня есть кнопка, сфокусированная на представлении. Также у меня есть переопределенный метод onKeyDown().
Теперь, когда кнопка нажимается с помощью пульта дистанционного управления, вызывается onClickListener, но почему onKeyDown() не вызывается.
onKeyDown() и onKeyUp() оба события больше подходят для аппаратной кнопки. Хотя эти события также совместимы с программной кнопкой. Эти оба события не поддерживают изменение фокуса.
Чтобы получить событие изменения фокуса, вы можете использовать OnFocusChangeListener(), это будет лучшей практикой.
button.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus) {
//Toast line...
}
}
});
Button
использует событие (например, ваш удаленный щелчок интерпретируется как нажатие клавиши Enter). Однако без минимально воспроизводимого примера трудно сказать наверняка. - person CommonsWare   schedule 12.12.2017