Обработчик кнопки назад

Проблема в следующем: у меня есть фрагмент, при нажатии кнопки назад меня перекидывает в  main программы, что меня устраивает, но если я вешаю в onCreate - addOnBackPressedCallback, в котором при некотором условии происходит действие, то дефолтное перемещение в main программы не работает

Вот метод, если кратко - если меню открыто, то закрыть его.

    private fun onBackPressed() {
   
        if (условие) {
            действие
        } 
    }

Далее вешаю его в onCreate

    override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
  
       addOnBackPressedCallback { 
          onBackPressed() 
       }
   }

Если меню закрыто, то вызвать дефолтное поведение при нажатии кнопки назад


Ответы (1 шт):

Автор решения: Syorito Hatsuki

А вчём смысл вызывать его в onCreate? Просто через @Override перегрузи onBackPressed и в нём делай

if(menu.isOpen()){
  //Если открыто
} 
Проверки на закрытость не надо но не забудь вызвать super
→ Ссылка