天天看點

E/錯誤(3907): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the o

       最近在做一個Android用戶端,和Struts2搭建的伺服器之間的通信,采用HTTP通信,以前做的都是簡單的Android用戶端,沒有什麼特别耗時的操作,是以這次就在Android中的耗時程式頭疼,于是通過檢視資料就開通了子線程,但是在子線程中卻抛出異常:android.view.ViewRootImpl$CalledFromWrongThreadException。

       一般在Android程式中,為了控制UI線程,都會控制主線程的時間,一般是5秒,因為我開通了子線程,而且這個線程需要通過HTTP協定擷取伺服器上的資料,是以,比較耗時。而且,在子線程中需要對UI元件的更新操作,是以,線程逾時,導緻android.view.ViewRootImpl$CalledFromWrongThreadException的異常。

       官方推薦解決方案:引入AsyncTask類,重寫doInBackground方法和onPostExecute方法。

解決這個問題的方法好像很多,但是,感覺這個還不錯。