在子线程创建handler的写法:
new
Thread(new
Runnable() { @Override
public
void
run() {
//1、准备Looper对象
Looper.prepare(); //2、在子线程中创建Handler
handler = new
Handler() { @Override
public
void
handleMessage(Message
msg) { super.handleMessage(msg);
Log.i("handleMessage:",
Thread.currentThread().getName()); Log.i("后台输出",
"收到了消息对象");
} }; //3、调用Looper的loop()方法,取出消息对象
Looper.loop(); } }).start();
在主线程发消息
@Override
public
void
onClick(View
v) { Log.i("onClick:",
Thread.currentThread().getName()); switch
(v.getId()) { case
R.id.btn: Message msg = handler.obtainMessage(); handler.sendMessage(msg);
break;
default:
break;
} }}