2014-02-12 38 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线程的这种方式