每5秒自动执行一次消息

sug*_*nto 0 java android timer

我是Android新手.任何人都可以告诉我如何每5秒执行一次消息.我尝试过这段代码,但它在我的模拟器上没有显示任何内容.我应该做什么呢?

     while(true) {     
          Toast.makeText(this, "hi", Toast.LENGTH_SHORT).show();
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }          
                 }
Run Code Online (Sandbox Code Playgroud)

art*_*ros 8

您不应该从GUI线程调用Thread.sleep().永远不要这样做.使用处理程序来做这件事.

private Handler handler = new Handler();    
private Runnable runnable = new Runnable() {   
    public void run() {
        doStuff();
        /*
         * Now register it for running next time
         */
        handler.postDelayed(this, 1000);
    } 
};
Run Code Online (Sandbox Code Playgroud)

我更喜欢这种方式使用定时器,因为Timer类引入了一个新线程,现在可以做到这一点.