android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a v

public class MainActivity extends AppCompatActivity {
    private Button mButton;
    private TextView mTextView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mButton = (Button) findViewById(R.id.btn_button);
        mTextView = (TextView) findViewById(R.id.tv_show);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        mTextView.setText("1321456");
                    }
                }).start();
            }
        });
    }

}

这个代码表示不能在线程里边更新UI,

下面的代码展示更新UI 声明一个静态常量 ,新增了一个handle对象 重写handleMessage()

public static final int UPDATE_TEXT = 1;
private Button mButton;
private TextView mTextView;
private Handler handle = new Handler(){
    public void handleMessage(Message msg){
        switch (msg.what){
            case UPDATE_TEXT:
                //在这里进行UI更新
                mTextView.setText("123456");
                break;
            default:
                break;
        }
    }
};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mButton = (Button) findViewById(R.id.btn_button);
    mTextView = (TextView) findViewById(R.id.tv_show);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    Message message = new Message();
                    message.what = UPDATE_TEXT;
                    handle.sendMessage(message);
                }
            }).start();
        }
    });
}


猜你喜欢

转载自blog.csdn.net/qq_36769704/article/details/78404047
今日推荐