【发布时间】:2013-02-18 20:53:38
【问题描述】:
我有几个活动处理不同的屏幕,其中的信息通过 AsyncTask 异步加载。
所有数据的获取都在 doInBackground() 中完成 所有 UI 操作都在 onPostExecute() 中完成
在某些情况下,我收到错误消息:“无法在未调用 Looper.prepare() 的线程内创建处理程序”
如果我执行 Looper.prepare(),如果为此类实例化一个新活动,它会崩溃。
这是一种奇怪的行为,我能够找到它发生的原因。具有类似行为的其他屏幕按预期工作。我找不到它们之间的差异。
有人有这种行为吗?
【问题讨论】:
-
请发布您的代码。
-
在活动之间切换时是否取消异步任务?不这样做是一个常见的错误......
-
MrYanDao,由于保密问题,我无法发布代码。
-
听起来你为 AsyncTask 线程创建了 Handler 对象。这是故意的吗?
-
顺便说一句,关于标题 Android 2.3.3(API 级别 8):API 级别 8 将是 Android 2.2; Android 2.3.3 将是 API 级别 10。