2012-09-09 53 views
1

我有一个主要活动。从AsyncTask调用AlertBuilder时出现异常

在此我定义了一个使用AlertBuilder从资源文件中传递stringId的函数。

我试图用这个来显示错误,当我的AsyncTask没有足够的空间留在磁盘上时。

但调用context.showAlert当我得到一个运行时异常

09-09 14:41:44.812:E /背景(8963): 线程已经不叫尺蠖内无法创建处理程序.prepare()

为什么?

回答

2

您应该从主线程中调用的函数之一(而不是后台)修改UI(如同在此调用中一样)。

E.g.从下列之一:

  • onProgressUpdate

  • onPostExecute

+0

所以,如果我想comunicate以用户为“没有剩余磁盘空间”,而这是由尝试抓..catch ..怎么可以做到这一点? – realtebo

+0

我投了你的回覆,但是...你有建议吗? – realtebo

+1

嗨,对不起,对于最近的回复,我不在我的电脑附近。你也可以在try-catch块内调用'publishProgress',所以它不应该是一个问题。无论如何,如果我的帖子仍然没有回答你的问题,你不必接受它。 – MByD

相关问题