我有一個程序,我要去一個網站,抓取XML和解析,很簡單。從第二個線程更新UI的問題,第一個線程工作得很好
下面是工作得很好的代碼,它開始在onCreate方法
final Handler handler = new Handler(){
public void handleMessage(Message msg){
progDialog.dismiss();
parse(xmlOut);
}};
progDialog = ProgressDialog.show(這一點, 「工作......」,「做什麼? 「); 線程=新主題() {
public void run(){
xmlOut = doSomeFunction(todaysDate);
handler.sendEmptyMessage(0);
}};
thread.start();
然後,如果用戶選擇不同的日期,不能重新運行同一個線程,那麼我在頁面上有一個按鈕,用於重新載入數據,所以我只複製完全相同的代碼,更改了所有變量名稱並將它是按鈕的OnClickListener。
當我按一下按鈕我得到一個異常,並得到這個
android.view.ViewRoot $ CalledFromWrongThreadException:只有原始的創建視圖層次可以觸摸其觀點線程。
做錯了什麼,但不知道究竟是什麼。我不'寫太多線程程序,所以我肯定我錯過了一些東西。