如何在AsyncTask的doInBackground內發生IOException時正常顯示Toast?優雅地處理AsyncTask中的IOException?
0
A
回答
2
您可以重寫onPostExecute或onProgressUpdate以在UI線程上顯示消息。
要使用onProgressDisplay聲明第二類型爲String當你擴展的AsyncTask:
private class YourTask extends AsyncTask<ParamType, String, ReturnType> {
,並覆蓋onProgressUpdate:
protected void onProgressUpdate(String... progress) {
String errMsg = progress[0];
Toast.makeText(getApplicationContext(), errMsg, Toast.LENGTH_SHORT).show();
}
,那麼你可以在你的例外出現所謂的「進步」功能doInBackground:
protected ReturnType doInBackground(ParamType... params) {
try {
// do stuff
} catch (IOException e) {
publishProgress("My Error Msg goes here");
}
return result;
}
1
就像這樣:
Toast.makeText(Context context, int resId, int duration).show();
它需要一個Context所以只是把它傳遞到的AsyncTask。 More information。
0
骯髒的方法是創建一個不同的nt會導致IOException異常,例如,如果沒有Internet連接,則可以檢查IOException中的連接性,並在連接存在result ='connection_to_server_issue'時設置結果。如果沒有連接結果='no_connection'。
然後在您的postExecution上,您可以首先檢查結果是否等於這兩個字符串,如果是,則執行toastmessage,或者如果發生其中一個錯誤,則執行toastmessage。
相關問題
- 1. 優雅地處理socket.close()
- 2. 如何優雅地處理DefaultControlFactory的CreateController
- 3. angular $ http優雅地處理錯誤
- 4. 優雅地處理「MySQL已經消失」
- 5. Go - 優雅地處理多個錯誤?
- 6. Python - 如何優雅地處理TypeError?
- 7. 如何優雅地處理ViewState錯誤?
- 8. 如何優雅地處理Jackson InvalidFormatException?
- 9. 優雅地處理TypeMirror和Class
- 10. 如何優雅地處理maxRequestLength異常?
- 11. 如何優雅地處理零例外?
- 12. Segfault的優雅處理
- 13. Swing Worker中優雅的異常處理
- 14. 如何優雅地處理java中的FileNotFoundexception
- 15. 優雅地處理過期的HttpSession中訪問Spring WebFlow
- 16. 如何優雅地處理python包中的全局配置
- 17. 在Umbraco XSLT宏中優雅地處理缺少的XML源
- 18. 如何在AJAX中優雅地處理設計的401狀態?
- 19. 優雅的方式來處理在CSV處理stripeme中的零?
- 20. 在ruby中優雅地處理數據結構(哈希等)
- 21. 如何優雅地處理在WPF中使用PasswordBox?
- 22. 如何在PocketSphinx for Android中優雅地處理錯誤?
- 23. 如何在Windows 8.1中使用SearchBox時優雅地處理TaskCancelledException
- 24. 如何在Java中優雅地處理空值
- 25. 在OSGi中,你如何優雅地處理初始化異常?
- 26. 在ASP.NET中優雅地處理URI攻擊
- 27. 如何在Java中優雅地處理SIGTERM信號?
- 28. 我如何優雅地處理卡夫卡中斷?
- 29. 如何在Neo4j 2.0中優雅地處理NotFoundException?
- 30. IOException未處理
非常感謝。像我的魅力:) –