我收到错误
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)
默认情况下,只有主线程(UI线程)具有looper
,您可以使用它来处理事件。这意味着当您创建子线程(非UI线程)时,它将没有looper
。通过调用Looper.prepare
,您可以为子线程创建一个新的Looper
对象,然后才能获得handler
个对象。但我想这不是你想要的(Looper
在Handler
内使用,通常你不关心它的用法。)。
一种方法是使用getMainLooper
作为处理构造函数的参数。这样您就可以使用与UI线程相同的looper对象