본문 바로가기
개발/android

Dialog를 닫았는데 background로 나갔다 들어오니 다시 열린다???

by 매몰 2019. 3. 13.

 

 

안드로이드에서 대화상자를 띄울때 DialogFragment를 사용한다.

 

그런데 사용후 닫았는데도 화면을 끄거나 홈버튼을 누르거나 다른 앱을 잠시 사용한후 들어오면...

닫혔던 DialogFragment 놈이 되살아나 다시 뜨는 경우가 있다.

 

알고보니 dismiss 리스너를 등록하면 그런다.

 

즉, setDismissListener에 리스너를 넣었다면 반드시 종료할때 dismiss()를 호출해주어야 한다.

그러지않고 back 버튼이나 바깥화면 터치로 닫으면 나중에 다시 떠버린다.

 

당황하지 말고 다음과 같이 하자...

 

dialog.setOnDismissListener {
//리스너 내용

}
dialog.setOnKeyListener { dialogInterface, i, keyEvent ->
if (keyEvent.action == KeyEvent.ACTION_UP && i == KeyEvent.KEYCODE_BACK)
dismiss()

false
}
dialog.setOnCancelListener {
dismiss()
}

 

 

 

 

 

도움이 되셨다면~ 정성으로 빚은 저희 앱!  많은 이용 바래요:)

 

https://meorimal.com/index.html?tab=spaceship

 

우주선 - 방치형 인공지능 투자 체험기

미리 맛보는 인공지능 투자!

(주)머리말 meorimal.com

 

https://meorimal.com/subway.html

 

지하철어디있니

더이상 고민하지 마세요. 뛸지 말지 딱 보면 알죠.

(주)머리말 meorimal.com

 

 

사업자 정보 표시
주식회사 머리말 | 고영진 | 서울특별시 송파구 중대로 135 서관 10층 (가락동, 아이티벤처타워) | 사업자 등록번호 : 524-88-00727 | TEL : 010-9990-3674 | Mail : gyjmeba@hanmail.net | 통신판매신고번호 : 2017-서울강남-03941호 | 사이버몰의 이용약관 바로가기