Toast在子线程调用的问题
Toast我们平时经常使用,但是你是否了解在子线程中要如何使用Toast呢? Toast的一般姿势 平时我们经常在主线程中直接使用Toast,代码看起来会像下面这样 Toast.makeText(MainActivity.this, "", Toast.LENGTH_SHORT).show(); 但是如果在子线程调用是不会有toast弹出的 Toast的正确姿势 如果在子线程调用那么让Toast能正常显示的方式是在它之前和之后调用Looper.prepare()和Looper.loop() Looper.prepare(); Toast.makeText(MainActivity.this, "", Toast.LENGTH_SHORT).show(); Looper.loop(); 原因是什么呢 我们得从源码角度来分析,看看在Toast show()的时候做了些什么 public void show() { if (mNextView == null) { throw new RuntimeException("setView must have been called");...