#java #android #kotlin
#java #Android #kotlin
Вопрос:
У меня есть абстрактный класс для моего приложения. AbstractToolbarActivity
и расширенный класс AboutActivity
. И в моей абстрактной деятельности я переопределяю onCreateOptionsMenu()
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_options, menu)
return true
}
Это Kotlin.
И я переопределяю эту функцию в расширенной активности AboutActivity
:
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menu?.clear()
return false
}
Но когда я запускаю свой AboutActivity
, он вызывает функцию из родительского класса. Я переопределяю его, так почему же он вызывает реализацию в абстрактном классе? Как я могу очистить пункты меню?
Комментарии:
1. Вы уверены, что это реальная проблема, какая вызываемая функция? Вы вышли из функций или добавили что-то еще, что может проверить, что вызывается?
2. Кроме того, вы можете опустить
?
onMenu?
, если вы уверены, что оно всегда передается как ненулевое значение. Переопределенным функциям разрешено дополнительно определять обнуляемость метода Java.3. Я отлаживаю его. Да, функция из расширенной активности не вызывается.