안드로이드에서 쓰레드는 어떻게 돌리나요?

조회수 2299회

연습삼아서 화면에 정의한 간격으로 문자열을 출력하는 애플리케이션을 만들어보고 있는데요. 쓰레드를 돌리려고

handler = new Handler();
Runnable r = new Runnable() {
    public void run() {
        tv.append("Hello World");               
    }
};
handler.postDelayed(r, 1000);

이런 식으로 Handler 클래스를 사용했는데 실행을하면 딱 한번만 출력이돼요. 쓰레드를 계속 돌리는 법좀 가르쳐 주세요.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    handler = new Handler();
    
    final Runnable r = new Runnable() {
        public void run() {
            tv.append("Hello World");
            handler.postDelayed(this, 1000);
        }
    };
    
    handler.postDelayed(r, 1000);
    

    약간 수정해봤습니다. 아니면 보통의 쓰레드처럼 하는 방법은

    Thread thread = new Thread() {
        @Override
        public void run() {
            try {
                while(true) {
                    sleep(1000);
                    handler.post(this);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };
    
    thread.start();
    

    이런식으로 하시면됩니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)