-
[Android] 프레그먼트 추가 및 삭제(뒤로가기 버튼)개발/Android 2021. 10. 27. 20:04
안드로이드 앱은 보통 하나의 액티비에서 다양한 프레그먼트 들을 쌓거나 삭제하며 사용자에게 정보를 전달한다. 이 과정에서 프레그먼트를 추가하고 뒤로가기 버튼을 누르면 이전의 프레그먼트로 돌아가는 방법을 소개하고자 한다.
위의 그림처럼 쌓여진 프레그먼트를 삭제하고 이전의 프레그먼트로 돌아가는 것이다.
프레그먼트 추가 코드
fun onSomeThingClick(view: View){ // Something을 클릭하면 Fregment를 추가 supportFragmentManager.beginTransaction().add(R.id.fragment_container, someFragment(param)).commit() }
프레그먼트 삭제 코드'
override fun onAttach(context: Context) { super.onAttach(context) val callback = object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { requireActivity().let{ it.supportFragmentManager.beginTransaction().remove(this@SomeFragment).commit() } } } requireActivity().onBackPressedDispatcher.addCallback(this, callback) }
간단하게 설명하면 onAttach 라이프사이클에 안드로이드만 존재하는 뒤로가기 버튼을 오버라이드해서 이전의 프레그먼트를 삭제하는 코드이다.
'개발 > Android' 카테고리의 다른 글
Material Theme Color System (0) 2023.05.31 Android DateFormat (0) 2022.09.13 RecyclerView ViewType 분기 (0) 2022.09.12 Fragment Container Testing (0) 2022.09.06 [Android] 뒤에 있는 프레그먼트 이벤트 작동 안되게 하기 (0) 2021.10.27