記錄一下,省的寫完就完,再寫還得百度了。
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.
}
});
}