안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 앱개발중인데 막히는부분이 잇어서 이렇게 글을 올립니다~
ProgressDialog를 사용해서 회원인증처리중 프로그레스 알림창을 띄울 생각인데요
인증처리버튼 클릭시 dialog가 오픈되어야는데 다음 activity로 넘어가기 직전에 잠시뜨고 사라지는데요
처리한방법은
인증처리버튼 클릭시
showDialog(); 젤먼저 이메소드를 호출햇구요
thread 스타트시켜서 인증로직탄 후 인증되면 dismiss();로 종료시킨 상태입니다.
다시한번 정리하자면 인증처리버튼 클릭시 바로 progressDialog를 띄우고싶어서 클릭이벤트 바로 showDialog를 바로 실행햇지만
의도한것과는 달리 다음activity로 넘어가기직전에 띄는 다는겁니다.
관련되서 아시는분 답변좀 부탁드리겟습니당~
ProgressDialog를 사용해서 회원인증처리중 프로그레스 알림창을 띄울 생각인데요
인증처리버튼 클릭시 dialog가 오픈되어야는데 다음 activity로 넘어가기 직전에 잠시뜨고 사라지는데요
처리한방법은
인증처리버튼 클릭시
showDialog(); 젤먼저 이메소드를 호출햇구요
thread 스타트시켜서 인증로직탄 후 인증되면 dismiss();로 종료시킨 상태입니다.
다시한번 정리하자면 인증처리버튼 클릭시 바로 progressDialog를 띄우고싶어서 클릭이벤트 바로 showDialog를 바로 실행햇지만
의도한것과는 달리 다음activity로 넘어가기직전에 띄는 다는겁니다.
관련되서 아시는분 답변좀 부탁드리겟습니당~
2011.01.06 09:28:50
final ProgressDialog progressDialog = ProgressDialog.show(this, "처리 중...","내 위치 검색...",true,true);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
}
}, 1000);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
progressDialog.dismiss();
}
}, 1000);
2011.01.06 10:42:10
1000은 1000millisecond 즉 1초이구여 1초후에 끝내도록({}안이 작동되도록) 설정한 것입니다.
한마디로 if(xx.isfinished()==true){progressDialog.dismiss();}해주면 되져.
시점이 중요합니다.
시작되는 시점에 show해주시고
if문이나 여러 방법으로 빠저나올때 scope{}안에 dismiss를 넣어주셔야죠.
한마디로 if(xx.isfinished()==true){progressDialog.dismiss();}해주면 되져.
시점이 중요합니다.
시작되는 시점에 show해주시고
if문이나 여러 방법으로 빠저나올때 scope{}안에 dismiss를 넣어주셔야죠.
2011.01.06 18:33:12
늦게 답변드려 죄송합니다. 일단 context의 this인자는 현재의 activity를 가르킵니다.
해당 액티비티의 클래스에서 쓰고 있다면 this라고 쓰면되고,
만약 해당 액티비티인데 scope{} 안에 또 scope{}안에 있어서 this가 안된다면 액티비티명.this로..
다른 클래스에서 new instance로 가져오고 있을 경우는 new 클래스명(파라미터인자) 선언할 때
파라미터 인자에 Context context를 넣어서 해당 액티비티에서 this를 넣어주고 다른 클래스에서
context를 가져와 쓰면되고, 아니면 static 변수로 선언하여 this를 넣어줘서 쓰셔도 무난합니다.



