网友通过本文主要向大家介绍了handler机制的原理,handler,handler是什么意思,handler用法,hardfault handler等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
好玩的Handler,好玩Handler
privateProgressBar mProgressBar;
privateint i =0;
privateHandler mHandler =newHandler(){ // 创建Handle
@Override
publicvoid handleMessage(Message msg){
super.handleMessage(msg);
Log.i("-mHandler->",i+"");
mProgressBar.setProgress(i);
}
};
privateRunnable runnable =newRunnable(){
@Override
publicvoid run(){
Log.i("-Runnable->",i+"");
i +=10;
// 要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作
mHandler.postDelayed(runnable,2000); // 定时器
mHandler.sendMessageDelayed(Message.obtain(),0);// 发送消息才会触发重写的handleMessage方法
}
};
@Override
protectedvoid onCreate(@NullableBundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handler);
mProgressBar =(ProgressBar) findViewById(R.id.pb_handler);
mHandler.post(runnable);// 开始执行线程
// runnable.run(); // 也可以用这个来开始线程
}
/**
* 删除的时候停止线程操作
*/
@Override
protectedvoid onDestroy(){
super.onDestroy();
mHandler.removeCallbacks(runnable);
}
}
// 两种获取Message的方法
// Returns a new Message from the global message pool.