안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요
안드로이드 UI를 개발하고 있던 도중 난관에 부디쳐 글을 씁니다.
다름이 아니라 반복문 안에 showdialog를 넣게 되니
반복문을 다 끝내고 다이얼로그가 create하게 되는데요
제가 구현하고 싶은 방향은 반복문을 한번돌때마다 dialog가 올라와서
매번 확인 한 후 다음 반복문을 수행하는 것입니다.
dialog가 thread로 작동되어서 그렇다는데
이에 대한 해결방법 아시는 분이 있는지 궁금합니다.
예문으로써
for(int pos=0; pos<attachIdArray.size();pos++)
{
showdialog(DLG_EXIST_FILE);
}
이런식으로 말입니다. 답변 부탁드립니다~
안드로이드 UI를 개발하고 있던 도중 난관에 부디쳐 글을 씁니다.
다름이 아니라 반복문 안에 showdialog를 넣게 되니
반복문을 다 끝내고 다이얼로그가 create하게 되는데요
제가 구현하고 싶은 방향은 반복문을 한번돌때마다 dialog가 올라와서
매번 확인 한 후 다음 반복문을 수행하는 것입니다.
dialog가 thread로 작동되어서 그렇다는데
이에 대한 해결방법 아시는 분이 있는지 궁금합니다.
예문으로써
for(int pos=0; pos<attachIdArray.size();pos++)
{
showdialog(DLG_EXIST_FILE);
}
이런식으로 말입니다. 답변 부탁드립니다~
2010.04.05 16:58:42
현재 방식으로는 불가능합니다. 반복문을 수행하고 있는 Thread 가 Main Thread 이고, showDialog 가 호출 되면, 그 시점에 바로 Dialog 가 화면에 표시되는게 아니라 Dialog 를 show 하기 위한 메세지가 Main Thread 의 Message Queue 에 추가되게 됩니다. 따라서, 반복문이 모두 수행된 후에야 Dialog 가 화면에 보여주게 되겠지요. 반복문 수행을 별도의 Thread 에서 하고, 해당 Thread 에서는 showdialog 호출 후, semaphore 등을 이용해 loop 진행을 멈추고, dialog 가 사라질 때, semaphore 를 풀어 주어 다시 반복 작업을 수행하는 식으로 구구현되어야 되지 않을까 싶네요.



