안드로이드 개발 질문/답변
(글 수 45,052)
제목대로 alertdialog를 띄운후 일정시간이 지나면 자동으로 없어지게 만들고 싶습니다.
가능할까요?
가능하다면 힌트좀 주세요.
2012.07.20 16:53:32
만약 그 시간이 지나기 전에 diaolg를 클릭해서 없어진 상태라면 어떻게 처리를 해야 할까요?
그 dialog가 살아 있는지를 먼저 알아야 할것 같은데요.
2012.07.20 16:58:09
멤버변수로 boolean플래그를 주시구요.
핸들러에서 다이얼로그를 닫을때 플래그 값을 검사해야죠.
사용자가 닫으면 플래그값을 조작하시구요.
하지만.. 제가 알기로는 닫혀있는 다이얼로그에 dismiss를 한다고 해서 문제가 생기진 않을 것 같은데,
다른 처리가 필요하다면 이렇게 하시면 됩니다.
2012.07.20 17:29:06
dialog.isShowing() 으로 얻으실 수 있습니다.
참고로
핸들러로 하시 경우 해당 액티비티가 이미 종료된 상태인지도 Activity isFinishing() 으로 확인하실 수 있습니다.
전 핸들러나 외부에서 다이얼로그 dismiss 할 때
public static void dismissProgressDialog(){
if(mProgressDialog != null && mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
}
} 이렇게 하고 있습니다.
타이머나 핸들러 사용하심 됩니다.
개인적으론 핸들러 추천. 일정 시간이 지나고 특정 동작을 수행하는 메서드가 있습니다.