概述
关闭的方法主要使用removeCallbacks,下面举一个demo 说明
使用方法:
1,首先创建一个Handler对象
Handler handler=new Handler();
2,然后创建一个Runnable对象
Runnable runnable=new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作
handler.postDelayed(this, 2000);
}
};
3,使用PostDelayed方法,两秒后调用此Runnable对象
handler.postDelayed(runnable, 2000);
实际上也就实现了一个2s的一个定时器
4,如果想要关闭此定时器,可以这样操作
handler.removeCallbacks(runnable);
下面是一个循环的demo
public class MainActivity extends AppCompatActivity {
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
// 这个是循环 间隔5s弹一次Toast
handler.postDelayed(this, 5000);
Toast.makeText(MainActivity.this, "延时5s", Toast.LENGTH_SHORT).show();
}
};
// 延迟2s弹Toasat
handler.postDelayed(runnable,2000);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (handler != null) {
handler.removeCallbacksAndMessages(null);
handler = null;
}
}
}
---------------------------------
在子线程中可以
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//自己想做的事情
}
},1500);
最后
以上就是体贴音响为你收集整理的Handler的postDelayed()关闭的方法的全部内容,希望文章能够帮你解决Handler的postDelayed()关闭的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复