뒤로가기 버튼을 누르면 이벤트가 활성화 되도록 하는 함수를 찾았는데, onBackPressed()는 이미 deprecated 되어 있었다. 사실. 그냥.. 쓸까도 생각했는데, deprecated되었다고 아예 안쓰는건 또 아닌 것 같아서.. 근데 override 경고문이 계속 뜨는데, 쓰지도 않는 함수였어서.. 경고 무시 어노테이션 걸기는 또 싫어가지고, 또 AI챗봇의 힘을 빌려..
=>OnBackPressedCallback의 handleOnBackPressed( )를 찾아냈다.
private val callback = object : OnBackPressedCallback(true){
override fun handleOnBackPressed() {
//제대로 MainActivity를 참조할 수 있도록 @MainActivity를 해줘야 한다.
val builder = AlertDialog.Builder(this@MainActivity)
builder.setTitle("종료")
builder.setIcon(R.drawable.item_chat)
builder.setMessage("정말 종료하시겠습니까?")
val listener = DialogInterface.OnClickListener { _, p1 ->
//확인 버튼을 눌렀을 때만 작업하도록 작성.
if (p1 == DialogInterface.BUTTON_POSITIVE) {
finish()
}
}
builder.setPositiveButton("확인", listener)
builder.setNegativeButton("취소", null)
builder.show()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
//onBackPressedDispatcher를 사용하여 생성한 callback을 붙여주기
this.onBackPressedDispatcher.addCallback(this,callback)