2012-09-25 40 views
0

當我用eclipse運行應用程序時,它向我顯示一個錯誤:"can't create handler inside thread that hos not called looper.prepare()",我不理解爲什麼。不能在線程內創建處理程序,該線程不會調用looper.prepare()?

這是我的代碼的一部分

public void execute_web_service() { 
    progressd = ProgressDialog.show(liste_voyage.this, "", "Chargement...", true, 
      false); 

    Thread thread = new Thread(liste_voyage.this); 
    thread.start(); 

} 




public void run() { 


    get_liste_arrives(); 

    handler.sendEmptyMessage(0); 
} 



private Handler handler = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
     progressd.dismiss(); 
     afficher_liste_arrives(); 

    } 
}; 
+0

你可能會發現這個答案有幫助: http://stackoverflow.com/a/6213637/1686442 –

回答

1

你會得到這個錯誤,與上面的代碼,如果是創建該類的實例的代碼在除主應用程序的線程上運行線。

+0

此代碼工作時有信息顯示在列表中,但如果函數get_liste_arrives()不返回任何來自數據庫的行,應用程序停止時,我點擊按鈕,這導致我的代碼類。 –

相關問題