Android Jetpack

Jetpack Navigation - 3 (Fragment Back Button Event)

개복치 개발자 2022. 2. 19. 03:47

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다.

 

개복치개발자 | Linktree

uyalae@naver.com

linktr.ee

 

이번에는 사용자가 버튼을 클릭하는게 아니라 BackButton이벤트를 감지해서 Fragment Navigation에서 이동하는 것을 해보겠습니다.

 

 아래와 같이 Fragment1,2,3을 구성해줬고, 그래프를 그려줬습니다.

 

 

 여기에서 Fragment3에서 backbutton event를 감지해서 Fragment1로 가도록 코드를 작성해주겠습니다.

 

 Fragment3을 아래와 같이 작성하시면 됩니다.

 

 

 onAttach부분에 아래와 같이 작성해도 됩니다.

 

override fun onAttach(context: Context) {
    super.onAttach(context)

    val callback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
        override fun handleOnBackPressed() {
            Log.d("aa", "bb")
        }
    }
    requireActivity().onBackPressedDispatcher.addCallback(
        this,  // LifecycleOwner
        callback)

}

pop Behavior 이라는 것도 있는데 한번 보고 가겠습니다.

 

 back했을 때 이벤트를 처리해줄 수 있습니다.

 

 - 참조

 

https://zerocool0713.tistory.com/143

 

[Navigation] popUpTo, popUpToInclusive 정리

popUpTo는 BackStack에서 어디까지 이동할 것인지 결정하는 속성 popUpToInclusive는 popUpTo로 지정한 fragment까지 pop 시킬 것인지 정하는 속성 ex) fragment1 -> frgment2 -> frgment3 -> frgment4 fragment3..

zerocool0713.tistory.com

 

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

 

맞춤 뒤로 탐색 기능 제공  |  Android 개발자  |  Android Developers

맞춤 뒤로 탐색 기능 제공 뒤로 탐색 기능은 사용자가 이전에 방문한 화면 기록을 통해 뒤로 이동하는 기능입니다. 모든 Android 기기는 이 유형의 탐색을 위해 뒤로 버튼을 제공하므로 앱 UI에 뒤

developer.android.com