实现Android多线程工作的一种方法:
//第一种触发方式
handler.sendEmptyMessage(1);//执行1里面的程序
//第一种触发方式加延时后触发
handler.sendEmptyMessageDelayed(2, 100);//延时100毫秒后执行2里面的程序
//第二种触发方式(可以传递参数)
String string = "123";
Message message = new Message();
message.what = 3;
message.obj = string;
handler.sendMessage(message);
@SuppressLint("HandlerLeak")
private Handler handler = new Handler() {
@Override
public void handleMessage(@NonNull Message msg) {
//回到了主线程
switch (msg.what) {
case 1:
//第一种触发方式触发后执行的程序
break;
case 2:
//第一种触发方式加延时后触发后执行的程序
break;
case 3:
//第二种触发方式触发后执行的程序
String string = (String) msg.obj;//string即为传来的数据
break;
default:
break;
}
}
};
报黄Alt+Enter解决;