마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

while문 무한으로 돌리는 도중에 이벤트시 빠져나오는 기능을 넣고 싶은데요..

0 추천
while문으로 무한루프 돌리다가 특정 이벤트에서,그러니까 run 버튼을 클릭하면 무한루프가 시작되고, stop하면 무한루프에서 빠져나오는 것을 구현하려고 하는데 어떤 방법이 있을까요?
Amar (600 포인트) 님이 2015년 3월 30일 질문

3개의 답변

+1 추천
 
채택된 답변
스레드를 따로 돌리면 됩니다.

멤버 변수로

boolean running; 

같은 애를 하나 선언해두고

run 버튼 click 시

onClick(View v) {

    running = true;

    startLoop();

}

stop 버튼 click 시

onClick(View v) {

    running = false;

}



startLoop() {

    new Thread(new Runnable() {

        @Override
        public void run() {
            while (running) {
                // running
            }
        }
    }).run();
}

 

mamondebaltob (32,750 포인트) 님이 2015년 3월 31일 답변
Amar님이 2015년 4월 3일 채택됨
0 추천
무한루프돌면 이벤트 못 받죠. 다른 쓰레드로 돌리지 않는 이상.
p911 (200 포인트) 님이 2015년 3월 30일 답변
0 추천
스레드안에서 sleep을 사용하여 시스템에 여유를 주시길...
nicehee (73,100 포인트) 님이 2015년 3월 31일 답변
...