0

我有一個包含2個選項卡的佈局,通過片段實現,即每個選項卡都有自己的片段。它們是與片段關聯的每個佈局中的SwipeRefreshLayout。
還有兩個異步任務,它們會對返回JSON數據的腳本進行http調用。
我實現了第一個異步任務,它工作正常,但是當我嘗試執行第二個應用程序不斷崩潰。登錄貓沒有多大的幫助,但這些是我看到的最重要的幾行:創建一個HTTP請求時
如何運行兩個片段,每個都有自己的AsyncTasks

java.lang.RuntimeException: An error occured while executing doInBackground() 

Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 


這些錯誤發生。任何想法如何解決這個問題?

+0

顯示代碼AsyncTasks中存在一些問題 –

+0

你在哪裏調用第二個AsyncTask? – Carnal

+0

在您的處理程序正上方調用Looper.getMainLooper() = new Handler() –

回答

1

在與UI線程不同的線程中,您必須創建一個Handle併爲UI線程發送一個可運行的線程。如下代碼

Handler handler = new Handler (Looper.getMainLooper()); 
handler.post (new Runnable() { 
    @Override 
    public void run() { 
     // ... Update view 
    } 
}); 
+0

創建了一個新方法並將處理程序放入其中。從swiperefresh調用,它工作得很好。 – Manny265

相關問題