티스토리 뷰
Dialog를 dismiss()하는 경우 java.lang.IllegalArgumentException 에러가 발생 되는 경우가 있습니다.
해당에러는 Dialog를 dismiss()하는 과정에서 해당 dialog를 가지고 있는 Activity가 이미 종료되어
버린 상황에서 발생 되게 됩니다. (activity finish();)
if(dialog != null && dialog.isShowing()){
dialog.dismiss();
}
일부 게시글에서는 Dialog를 dismiss() 하기 전에 위 코드로 체크 후 종료하면 해결 된다고 하지만
해당 코드를 적용 해도 java.lang.IllegalArgumentException가 발생 하기도 합니다.
이 에러를 해결하기 위해서는 Dialog를 dismiss()를 할때 원칙적으로 Activity가 종료 되지 않은 상태 여야 하므로
Activity가 종료 될때 Dialog가 show()되어 있다면 dismiss()처리하여 Activity가 종료된 후에
Dialog가 dismiss() 되지 않도록 해 주어야 합니다.
Activity에서 onDestroy()를 Override하여 아래 코드를 넣어 주면 됩니다.
1 2 3 4 5 6 7 8 | @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); if(dialog != null && dialog.isShowing()){ dialog.dismiss(); } } | cs |
'IT > Android' 카테고리의 다른 글
[Android] OnTouchListener 사용 시 ScrollView에 scrolling 이벤트 무시하기 (0) | 2018.07.10 |
---|---|
[Android]반복된 작업을 위한 AlarmManager 사용하기 (0) | 2018.07.09 |
[Android] ScrollView사용 시 내부 특정 View로 이동 시키기 (0) | 2018.02.02 |
[Android]위경도를 이용한 두 좌표간에 거리 차이 구하기 (0) | 2018.02.01 |
[Android]autolink 사용하여 TextView에 링크 이벤트 활성화 하기 (0) | 2017.12.03 |
댓글
TAG
- ONLINE JSON
- 사제 쿨러
- 티스토리 초대장
- 포아너
- 래디어 구조
- 민주당 대선 후보
- 배달 지연
- 1800X
- 7700K
- GPU 출시
- 단면폭
- 투표소
- 1800TI
- 한글패치
- unbound prefix
- 초대장
- 라이젠
- Looper.prepare()
- 한글 패치
- 림의 외경
- 예약메일 전송
- GPU 출시가격
- 테일즈 오브 베르세리아
- 19대 선거
- 블로그 개설
- JSON PASER
- 하이엔드 그래픽카드
- 오픈베타
- 국기 다는 시간
- 다렉
최근에 올라온 글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
공지사항
반응형