handler中的handler.removecallbacks和handler.removemessages的用法
来源:互联网 发布:尚观linux 百度网盘 编辑:程序博客网 时间:2024/05/16 05:21
1, postDelayed方法和removeCallbacks方法的使用
方法postDelayed的作用是延迟多少毫秒后开始运行,而removeCallbacks方法是删除指定的Runnable对象,使线程对象停止运行.
- public class Main extends Activity {
- private Button button1;
- private Button button2;
- private Handler handler = new Handler();
- private int count = 0;
- private Runnable runnableRef = new Runnable() {
- public void run() {
- Log.v("2", Thread.currentThread().getName());
- count++;
- Log.v("!", "count=" + count);
- handler.postDelayed(runnableRef, 1000); //此处是handler自己调用自己处理,所以就循环
- }
- };
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Log.v("1", Thread.currentThread().getName());
- button1 = (Button) this.findViewById(R.id.button1);
- button2 = (Button) this.findViewById(R.id.button2);
- button1.setOnClickListener(new OnClickListener() {
- public void onClick(View arg0) {
- Thread thread = new Thread(runnableRef);
- thread.start();
- Log.v("!!!!!!!!!!!!!", "end");
- }
- });
- button2.setOnClickListener(new OnClickListener() {
- public void onClick(View arg0) {
- handler.removeCallbacks(runnableRef);
- }
- });
- }
- }
- ---------------------------------------------------------------------------------------------------------------
- 效果图:程序运行后单击button1按钮开始循环,count累加1,运行结果如图6.41所示。 图6.41 循环加1效果
2,handler.removemessages
1、这个方法使用的前提是之前调用过sendEmptyMessageDelayed(0, time),意思是延迟time执行handler中msg.what=0的方法;
2、在延迟时间未到的前提下,执行removeMessages(0),则上面的handler中msg.what=0的方法取消执行;
3、在延迟时间已到,handler中msg.what=0的方法已执行,再执行removeMessages(0),不起作用。
2、在延迟时间未到的前提下,执行removeMessages(0),则上面的handler中msg.what=0的方法取消执行;
3、在延迟时间已到,handler中msg.what=0的方法已执行,再执行removeMessages(0),不起作用。
0 0
- handler中的handler.removecallbacks和handler.removemessages的用法
- Handler.removeMessages的作用
- Handler.removeMessages的作用
- handler的sendMessage、removeMessages、post、PostDelayed等
- Handler和postDelayed方法和removeCallbacks方法的使用
- 关于Handler的removeCallbacks方法无效
- Android中的Handler的用法
- Handler的用法4 Android中的Handler的具体用法
- Android Handler removeMessages引发postDelayed失效的问题
- 实习入职第二天:Handler.removeMessages的作用
- [android小知识]removeCallbacks与postDelayed的恩怨史(removeCallbacks所谓的无效, View和Handler 的postDelayed)
- Android中的Handler用法
- android broadcastreceiver 里的handler Handler.removeMessages(1);方法无法删除消息
- Android中的Handler的用法和用Handler进行更新版本
- Handler机制详述1---Handler的简介和用法
- Handler-简介和用法
- Handler
- Handler
- 《学习OpenCV》第三章课后题5
- 杭电1157(sort函数)
- C# 获取两个矩形相减部分的GraphicsPat
- Android NDK 调用方法发生java.lang.UnsatisfiedLinkError
- 粒子群算法(PSO)
- handler中的handler.removecallbacks和handler.removemessages的用法
- sobel边缘检测算子
- android Sqlite 模板 。
- 手动加载应用上下文无法自动终结的解决办法
- cvEvalCARTClassifier
- 不指定输入数据个数,和memcpy函数
- php 发送与接收流文件
- C语言----指针
- CF 6B President's Office