반응형
안드로이드 개발 시 위와 같은 alert dialog를 많이 사용 합니다.
하지만 사용자가 alert dialog 바같 영역을 터치해서 alert dialog를 닫아버리면 YES / NO 그 어떤 콜백도 없이 무시 됩니다.
그럴 경우 2가지 방법으로 처리가 가능합니다.
1. setCancelable 설정하기
val dialogBuilder = AlertDialog.Builder(it)
.setTitle(title)
.setCancelable(false)
위처럼 하면 뒤로가기를 누르거나 대화 창 이외의 공간을 터치해도 무시합니다.
setCancelable를 true로 하면 뒤로 가기 키와 배경 터치를 통해 대화 창을 취소 할수 있고 false로 하면 해당 이벤트로 취소를 할수 없습니다.
2. setOnDismissListner 사용 ( API 17 이상)
dialogBuilder.setOnDismissListener(object : DialogInterface.OnDismissListener {
override fun onDismiss(arg0: DialogInterface) {
//todo
}
})
다이어로그가 무시되는 dismiss 이벤트에 대한 리스너를 등록 할수 있습니다.
todo 부분에 작성한 코드가 작동합니다.
반응형
'개발관련' 카테고리의 다른 글
Gatsby 개츠비 에서 이미지 사용 시 최적화 관련 팁 gatsby-plugin-image 사용법 (0) | 2021.10.10 |
---|---|
안드로이드 AlertDialog 바깥영역 클릭해서 취소 하기 setOnCancelListener (0) | 2021.06.10 |
IOS 앱 개발할때 테스트 시 테스트 플라이트( TestFlight )로 테스트 하는 방법 (0) | 2021.04.16 |
Mobx 심화 mobx의 reactions 종류 autorun, reaction, when (0) | 2021.03.28 |
MobX Modifiers란? observable shallow,ref,deep (0) | 2021.03.27 |