How to run a Runnable thread in Android at defined intervals?

后端 未结 11 1984
青春惊慌失措
青春惊慌失措 2020-11-22 02:50

I developed an application to display some text at defined intervals in the Android emulator screen. I am using the Handler class. Here is a snippet from my cod

11条回答
  •  醉酒成梦
    2020-11-22 03:20

    The simple fix to your example is :

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

    Or we can use normal thread for example (with original Runner) :

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

    You may consider your runnable object just as a command that can be sent to the message queue for execution, and handler as just a helper object used to send that command.

    More details are here http://developer.android.com/reference/android/os/Handler.html

提交回复
热议问题