Handler主线程和子线程相通信
//创建主线程的handler
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
threadHandler.sendEmptyMessage(1);
}
};
private Button button1 ,button2;
private HandlerThread handlerThread;
private Handler threadHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = findViewById(R.id.send);
button2 = findViewById(R.id.stop);
//子线程的handler的创建
handlerThread = new HandlerThread("HandlerThread");
handlerThread.start();
threadHandler = new Handler(handlerThread.getLooper()){
@Override
public void handleMessage(Message msg) {
Log.i("TAG", "Thread---handleMessage: ");
handler.sendEmptyMessage(1);
}
};
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.send:
handler.sendEmptyMessage(1);
break;
case R.id.stop:
handler.removeMessages(1);
break;
}
}
posted on 2018-10-10 16:41 zhang11111wei 阅读(184) 评论(0) 编辑 收藏 举报