推 aids61517: 我猜是i初始化的位置不對,你全部都使用runnable1 04/02 18:58
→ aids61517: 所以i只會被初始化一次,你執行第二次後i都會大於100 04/02 18:59
→ aids61517: 我好像看錯了0.0 04/02 19:05
→ GooLoo: i的值有log出,是對的,只是數到100以上,停不下 04/02 21:26
→ nick03008: 將 runnable 內的 remove的參數改為 this 看看 04/02 21:40
→ ssccg: run裡面最後的執行順序是 handler1.sendMessage → 04/03 04:16
→ ssccg: handler1.removeCallbacks → 結束換handler handleMessage 04/03 04:18
→ ssccg: → handler1.post 以上最後結果就是handler再跑一次run 04/03 04:18
→ ssccg: 解決方法就是最後加個else,把sendMessage放在else裡面 04/03 04:20
→ ssccg: 需要再搞清楚handler、message queue的原理 04/03 04:23
→ ssccg: 另外要注意new Handler(),這樣handler還是跑在main thread 04/03 04:25
→ ssccg: 並沒有另一個thread 04/03 04:28
→ ssccg: 其實run裡面的removeCallbacks是多餘的,post只會執行一次 04/03 04:32
→ ssccg: 沒再sendMessage/post本來就不會再跑 04/03 04:32
※ 編輯: GooLoo (1.34.229.62), 04/03/2017 08:29:18
→ GooLoo: 感謝ssccg大大, 我有在各函式中加Log, 看跑的順序了 04/03 08:45
→ y3k: 你應該搞錯Handler的用法了 04/03 13:28
推 zop: 這個不是thread... 04/03 14:38