首页 > 解决方案 > 如何在Android中使线程重复

问题描述

我尝试实现一个thread在主线程旁边运行的线程,这个线程是executed in 20 seconds,我需要again it executes again在以连续方式完成线程之后。

使用此代码,线程执行一次,但我该如何让它再次运行?

public class MainActivity extends AppCompatActivity {
.
.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );
.
.
    treadTimer();
}

private void treadTimer(){
    new Thread(new Runnable() {
        @Override
        public void run() {
            for(int i=1; i<= 20; i++){
                UnSegundo();
            }
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(getBaseContext(), "Tarea Larga Finalizada", Toast.LENGTH_SHORT).show();
                }
            });
        }
    }).start();
}

private void UnSegundo(){
    try{
        Thread.sleep(1000);
    }catch (InterruptedException e){}
  }
}

标签: android

解决方案


这是方法之一

Handler handler = new Handler();

private Runnable runnable = new Runnable() {
    @override
    public void run() {
        doYourThing();
        handler.post(this, 20000);
    }
}

handler.post(runnable);

推荐阅读