onCreateOptionsMenu вызывается из абстрактного класса

#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. Кроме того, вы можете опустить ? on Menu? , если вы уверены, что оно всегда передается как ненулевое значение. Переопределенным функциям разрешено дополнительно определять обнуляемость метода Java.

3. Я отлаживаю его. Да, функция из расширенной активности не вызывается.