Android尝试在子线程使用handler更新ui,总是失败

Handler handler=new Handler(Looper.getMainLooper()){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                if (msg.what == 1) {
                    final String out=msg.getData().getString("msg", "out");
                    test.setText(out);
                }

            }
        };

当执行到这一步时发生

E/AndroidRuntime: FATAL EXCEPTION: Thread-2
    Process: com.learn.test, PID: 17659
    android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
        at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8743)
        at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:1597)

new Thread(() -> {

                    String out=test(input.getText().toString());
                    Message msg=new Message();
                    msg.what=1;
                    msg.obj=out;
                    Bundle bundle=new Bundle();
                    bundle.putString("msg", out);
                    msg.setData(bundle);
                    handler.handleMessage(msg);
                }).start();

这是调用的代码

解决了,应该用handler.sendleMessage(msg)而不是handler.handleMessage(msg);,我真是个憨批