2014-02-12 66 views
0

創建處理程序...嘗試創建一個對話框時,我得到的錯誤無法在對話框中創建

02-11 21:40:25.326: E/AndroidRuntime(1950): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 

。那我需要做的這不會擴展活動類(我通過上下文來這個類從另一個類),所以我在尋找一種方式來創建在默認的Android風格簡單的彈出消息沒有這個錯誤。謝謝。

+0

你能證明你的代碼? –

+0

請參閱我的回答,它只是描述了爲什麼得到該RuntimeException。顯示你的代碼以清楚你的問題 – suitianshi

回答

0

默認情況下只有主線程(UI線程)具有looper,你可以用它來處理你的事件。這意味着當你創建一個子線程(非UI線程)時,它不會有一個looper。通過調用Looper.prepare,創建一個新的Looper對象爲您的孩子線程,只有這樣,你可以得到一個handler對象。但我想這不是你想要的(該Looper用於內部Handler,通常你不關心它的使用。)。

一種方法是使用getMainLooper作爲參數傳遞給處理程序的構造函數。您使用相同的尺蠖對象的UI線程的這種方式