2012-09-09 52 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

相關問題