#android #kotlin #android-softkeyboard
#Android #kotlin #android-softkeyboard
Вопрос:
Я внедряю прослушиватель ключей, чтобы определять, когда кто-то нажимает пробел:
class MapFragment : Fragment(), View.OnClickListener, KeyEvent.Callback {
override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
return when (keyCode) {
KeyEvent.KEYCODE_DEL -> {
enterCode1.text?.clear()
enterCode2.text?.clear()
enterCode3.text?.clear()
enterCode3?.isEnabled = true
enterCode2?.isEnabled = true
enterCode1?.isEnabled = true
enterCode1?.requestFocus()
true
}
else -> super.onKeyUp(keyCode, event)
}
}
}
Несмотря на то, что я взял точный образец из документации — super.onKeyUp(keyCode, event)
возвращает следующую ошибку компилятора:
Abstract member cannot be accessed directly
Почему это?
Комментарии:
1. Поскольку у вас нет никакой функции с именем onKeyUp в
Fragment
, это абстрактный метод, предоставляемыйKeyEvent.Callback
вами, который вы переопределяете. Существует onKeyUp , вActivity
котором упоминался этот документ.2. Хорошо, спасибо. Как я могу вызвать super on
onKeyUp
в моем фрагменте? @AnimeshSahu3. Во фрагменте нет суперфункции, вызываемой
onKeyUp
…