一、循环加载:
public class MainActivity extends AppCompatActivity { private int TIME = 3000;//定时的时间间隔 private Handler handler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { click(); } }); } private void click() { handler.postDelayed(runnable, TIME); //每隔1s执行 } Runnable runnable = new Runnable() { @Override public void run() { needLoopFunction(); } }; private void needLoopFunction() { Log.e("TAG", "====" + System.currentTimeMillis()); handler.postDelayed(runnable, TIME); //延迟加载 } }二、固定次数加载
public class MainActivity extends AppCompatActivity { private int TIME = 3000;//定时的时间间隔 private int mCountTag = 0;//作为计数次数的标志 private Handler handler = new Handler(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { click(); } }); } private void click() { handler.postDelayed(runnable, TIME); //每隔1s执行 } Runnable runnable = new Runnable() { @Override public void run() { if (mCountTag > 9) {//超过十次就结束掉 handler.removeCallbacks(runnable); } else { needLoopFunction(); } } }; private void needLoopFunction() { mCountTag++; Log.e("TAG", "====" + System.currentTimeMillis()); handler.postDelayed(runnable, TIME); //延迟加载 } }