Android 如何在线程内的循环器中使用处理程序(在循环器之前创建)
hi mate在所有教程或示例中,活套中使用的处理程序是在活套示例中创建的:Android 如何在线程内的循环器中使用处理程序(在循环器之前创建),android,Android,hi mate在所有教程或示例中,活套中使用的处理程序是在活套示例中创建的: class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message ms
class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
但是如果在线程之前创建处理程序,例如
public Handler mHandler=new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
是否可以将他与循环器中的thread in run()方法相关联,或者我必须仅在循环器中的run方法中创建他?处理程序中的构造函数基本上如下所示:
public Handler() {
....
mLooper = Looper.myLooper();
if (mLooper == null) {
// throws an exception
}
....
}
字段,mLooper
是一个包私有的final
字段-当然,没有setter可供您稍后更改
简而言之,Handler()
构造函数将自身与Looper.myLooper()
相关联,还有其他构造函数允许您传递Looper
——但这些构造函数也要求您在创建处理程序之前创建Looper