当前位置:   article > 正文

Handler类的postDelyed使用_mhandler.postdelayed(this , 1500)

mhandler.postdelayed(this , 1500)

记录一下,省的写完就完,再写还得百度了。

handler.postDelayed(this, 1000); 只会运行一次,想要循环,可以用递归的方法,

在run里面再调:

handler.postDelayed(this, 1000);

停止循环的方法:

handler.removeCallbacks(runnable);

直接上代码,利用handler来实现UI线程的更新。

  1. Handler handler=new Handler();
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.activity_main);
  6. // 初始化
  7. periscopeLayout = (PeriscopeLayout) findViewById(R.id.periscope);
  8. final Runnable runnable=new Runnable() {
  9. @Override
  10. public void run() {
  11. //要做的事情
  12. //调用添加泡泡的方法
  13. int i;
  14. for(i=0;i<20;i++) {
  15. periscopeLayout.addHeart();
  16. }
  17. handler.postDelayed(this, 1000);
  18. }
  19. };
  20. //使用按钮启动
  21. btn_start = (Button) findViewById(R.id.btn_start);
  22. btn_start.setOnClickListener(new OnClickListener() {
  23. @Override
  24. public void onClick(View v) {
  25. handler.postDelayed(runnable, 1000);//每1秒执行一次runnable.
  26. }
  27. });
  28. }

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/240649
推荐阅读
相关标签
  

闽ICP备14008679号