[Android/Kotlin] OnBackPressedCallback
![[Android/Kotlin] OnBackPressedCallback](/assets/img/kotlin_img/kotlin.png)
📌 OnBackPressedCallback?
- 기존의 OnBackPressed가 targetSdkVersion 33 이후 부턴 deprecated돼고 이를 대체할 OnBackPressedCallBack()이 나왔다.
- OnBackPressedCallback을 사용하여 뒤로 가기 버튼 동작을 정의할 수 있다.

다음은 Android Jetpack의
OnBackPressedCallback클래스의 생성자이다.이 생성자는 뒤로 가기 버튼의 동작을 커스텀하기 위해 사용되는 콜백을 생성하는 역할을 한다.
OnBackPressedCallback은 뒤로 가기 버튼을 누를 때 호출되는 동작을 커스텀하려고 할 때 사용된다.생성자에 전달되는
enabled값은 이 콜백이 활성화되어 있는지를 결정한다. 만약enabled가true로 설정되면 콜백은 활성화되어 뒤로 가기 버튼을 눌렀을 때 호출되고 만약false로 설정하면, 나중에isEnabled속성을 사용하여 콜백을 활성화시킬 수 있다.
👨🏻💻 적용 예제
OnBackPressedCallback()의 인스턴스를 생성하고 초기화한다.- 생성자에
true값을 전달하여 즉시 활성화 시킨다. OnBackPressedCallback()클래스를 상속하고,handleOnBackPressed메서드를 오버라이드하여 뒤로 가기 버튼 이벤트가 발생했을 때 실행할 동작을 작성한다.
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// 뒤로가기 시 실행할 코드 작성
}
}
- 뒤로 가기 버튼 동작을 커스텀하기 위한 콜백 객체를 생성하고 등록한다.
- dispatcher를 사용해 뒤로가기 버튼 이벤트를 처리한다.
onBackPressedDispatcher.addCallback(this, onBackPressedCallback)