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;
}
}
原文地址:https://www.cnblogs.com/liunx1109/p/9767415.html