星期五, 3月 24, 2017
[ Android ] can't create handler inside thread that has not called looper.prepare()
一開始是打算如果我按了個button,
那UI上就會show出Toast的訊息,
new Thread(new Runnable() {
public void run() {}
}).start();
我直接在Button.OnClickListener內去執行這個thread,
後來就發生錯誤訊息,
can't create handler inside thread that has not called looper.prepare()
1.
因為UI的操作不能直接在thread上去做,
所以在activity上的話要用"runOnUiThread()"來處理UI的東西。
2.
另一種說法是如果你不是在主線去建thread,那他不會主動去處理looper,
所以要自己手動去加入。
new Thread(new Runnable() {
public void run() {
Looper.prepare();
....
Looper.loop();
}
}).start();
Ref_runOnUiThread
Ref_looper
Ref_looper
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言