赞
踩
记录一下,省的写完就完,再写还得百度了。
handler.postDelayed(this, 1000); 只会运行一次,想要循环,可以用递归的方法,
在run里面再调:
handler.postDelayed(this, 1000);
停止循环的方法:
handler.removeCallbacks(runnable);
直接上代码,利用handler来实现UI线程的更新。
Handler handler=new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化 periscopeLayout = (PeriscopeLayout) findViewById(R.id.periscope); final Runnable runnable=new Runnable() { @Override public void run() { //要做的事情 //调用添加泡泡的方法 int i; for(i=0;i<20;i++) { periscopeLayout.addHeart(); } handler.postDelayed(this, 1000); } }; //使用按钮启动 btn_start = (Button) findViewById(R.id.btn_start); btn_start.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { handler.postDelayed(runnable, 1000);//每1秒执行一次runnable. } }); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。