본문 바로가기
IT/Android

Fragment에서 Back키 처리 방식

by YEON-DU 2021. 4. 4.
반응형

 

private val callback = object : OnBackPressedCallback(true // default to enabled) {
         override fun handleOnBackPressed() {
            // Do Something
        }
         requireActivity().getOnBackPressedDispatcher().addCallback(
             this, // LifecycleOwner
             callback
        )
    }

 

activity.onBackPressed()를 쓰지 않고 Fragment에서 자체적으로 처리하는 이유는 무엇일까?

Activity에서 특정 Fragment만 지정하여 Back 키에 관한 로직을 정의하게 될 경우 의존이 생기는 것을 방지할 수 있다.

onBackPressed를 전달 받기 위해서는 callback?.isEnabled 값을 true 로 지정해주어야 한다.

 

OnBackPressedCallback의 생성자는 초기 사용 설정 상태를 나타내는 Boolean 값을 사용합니다. 콜백이 사용 설정된 때만(즉, isEnabled() true를 반환) 디스패처가 콜백의 handleOnBackPressed()를 호출하여 뒤로 버튼 이벤트를 처리합니다.

 

참고자료

https://developer.android.com/guide/navigation/navigation-custom-back?hl=ko

http://pluu.github.io/blog/android/2019/02/03/androidx-backkey/

https://www.programmersought.com/article/47934709216/

반응형

'IT > Android' 카테고리의 다른 글

navigateUp(), popBackStack() 차이  (0) 2021.04.18
AppbarLayout, CoordinatorLayout, Behavior  (0) 2021.04.07
21.04.03  (0) 2021.04.03
람다와 익명클래스 괴담  (0) 2021.03.14
Serializable vs Parcelable  (0) 2021.02.19

댓글