可在子執行緒中使用的Toast

2021-07-09 04:02:31 字數 515 閱讀 5040

one goal,one passion!

一般我們使用taost時必須在主線程中,可是如果我們想在子執行緒中使用是就不是那麼方便了.因為系統的toast在子執行緒中使用會報錯.下面我們做一些處理,就可以實現在子執行緒中使用toast.
public

class

myutils else

});}

}

1,如果執行緒執行在主線程中,那麼thread.currentthread().getname()會得到」main」.

"main"

.equals(thread.currentthread().getname())

2,使用runonuithread()方法將toast強制執行帶主線程.

runonuithread(new runnable() 

});

子執行緒中Toast

那天和同學在討論乙個小demo,無意間,在子執行緒中toast了一把,竟然報錯了 因為toast在service和activity中都可以執行。所以開始就認為和ui執行緒沒有有太大的關係,而現在子執行緒toast竟然報錯!無奈之下,花了半天的時間看了一下handler,looper,toast的原始...

Toast 新執行緒及Service中使用方法

1.新執行緒中使用需要先呼叫looper.prepare 新建乙個looper物件 looper物件生成時會生成乙個訊息佇列 而toast的顯示是需要訊息佇列的 例子 looper.prepare toast.maketext looper.loop 2.service中使用toast 必須是與se...

在子執行緒中Toast

問題 直接在普通子執行緒中toast會報錯 錯誤關鍵 1.普通的執行緒不能直接new乙個handle,而toast初始化 中如下 片 public class toast 2.為什麼普通執行緒不能new乙個handle?handle類 如下 public handler looper類中的 片段 p...