onBackPressed() deprecated issuede
2023. 3. 10. 16:16ㆍ개발/Android
이제 쓸 수...없다......onBackpressed...................................................
이렇게 된김에
deprecated 된 onBackPressed()를 핸들링해보자
아래와 같이 할 수 있다
Activity 내부에서
fun AppCompatActivity.onBackPressed(isEnabled: Boolean, callback: () -> Unit) {
onBackPressedDispatcher.addCallback(this,
object : OnBackPressedCallback(isEnabled) {
override fun handleOnBackPressed() {
callback()
}
})
}
// How To Use it :
class ExampleActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_example)
onBackPressed(true) {
// do what do you want when get back
}
}
}
Fragment 내부에서
fun FragmentActivity.onBackPressed(callback: () -> Unit) {
onBackPressedDispatcher.addCallback(this,
object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
callback()
}
}
)
}
// How To Use it :
class ExampleFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requireActivity().onBackPressed {
// do what do you want when get back
}
}
}
위와 같이 사용하려면
activity의 dependency가 androidx.activity:activity:1.+.+”이어야만 한다
'개발 > Android' 카테고리의 다른 글
알아두면 좋은 Kotlin extension (0) | 2023.05.03 |
---|---|
DiffUtil로 RecyclerView효율화하기 (0) | 2023.05.03 |
android sdk 31 타겟팅 (0) | 2022.11.17 |
라디오 다이얼로그 컴포넌트 제작기 (0) | 2022.11.07 |
Material UI 로 간단하게 깔끔한 UI 구현하기 - (1) (0) | 2022.08.29 |