如何保持UI線程等待,直到我從AsyncTask獲取數據。 我試圖從服務器加載一些信息和圖像,並分別顯示到textview和imageview。但是UI線程在後臺線程完成任務之前訪問該字段。所以空值被檢索和應用程序崩潰。UI線程和AsyncTask同步
-1
A
回答
0
在完成後臺任務後,您可以更新AsyncTask的onPostExecute中的UI。
對於崩潰,通過訪問UI線程上的字段=>您需要將此代碼也轉換爲onPostExecute方法。
所以所需的數據將可用,該字段將有一個值。 所以崩潰問題可以解決。
-1
如果您正在構建,基本上擦傷HTML源代碼的應用程序,然後您處理這個「串」,你所能做的就是
private class Scrapper extends AsyncTask<String, Void, Void> {
@Override
protected Void doInBackground(String... params) {
//Get the source here
}
然後在onCreate方法
Scrapper scrapper = new Scrapper();
String URLSource = scrapper.execute("url here").get();
//Additional code to manipulate the string
然而通常不建議這樣做,因爲顯然它會將整個UI線程置於保持狀態,並且如果源很大,則會有很長的延遲。
+0
如果有人低估,他們是否介意解釋爲什麼? –
相關問題
- 1. MultiThreading,AsyncTask和UI線程
- 2. 同步線程 - 沒有UI
- 3. 同步測試線程,UI線程和CursorLoader線程
- 4. 分離/解耦AsyncTask和UI線程
- 5. android AsyncTask和UI線程交互
- 6. 的AsyncTask控制UI線程
- 7. Asynctask從非UI線程
- 8. Asynctask一個UI線程
- 9. Android AsyncTask塊UI線程
- 10. UI線程和更新線程之間的RecyclerView數據同步
- 11. 簡化後臺線程創建和UI線程同步的類
- 12. 如何在android上同步我的線程和UI線程
- 13. 線程和同步
- 14. 線程和同步
- 15. 線程和同步
- 16. 沒有UI線程的任務同步
- 17. 在UI線程上同步使用DownloadStringTaskAsync
- 18. Android AsyncTask同步
- 19. ArrayList,線程和同步 - 如何準確同步多個線程
- 20. Asynctask和Handler線程在同一時間?
- 21. 多線程和線程同步
- 22. 線程同步和信號
- 23. C#線程和同步
- 24. 同步線程和鎖定
- 25. Java - 多線程和同步
- 26. boost :: asio,線程和同步
- 27. 的Java同步和線程
- 28. 同步線程和信令
- 29. 線程和同步方法
- 30. Java線程和同步塊
setText&Image in overriden onPostExecute AsyncTask方法,它在UI線程中調用並在AsyncTask終止之後。 –