由於Android的界面更新只能通過自己的UI線程進行操作,所以我們需要用到Handler在進行更新界面的操作。
1、聲明變量
private Handler handler = new Handler(); private ProgressDialog progressDialog = null;2、在開始進行網絡連接時顯示進度條對話框
progressDialog = ProgressDialog.show(MyActivity.this, "請稍等...", "獲取數據中...", true);
3、在handler.post中進行界面更新
public void setListAdapter(){ handler.post(new Runnable() { public void run() {//將獲取到的數據更新到列表中
MyListView.setAdapter(saImageItems);
}}
});
4、開個新的線程進行網絡連接獲取數據
new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub //向服務器請求數據 mapList=MyAPI.getAllDatas(); setListAdapter(mapList); //更新完列表數據,則關閉對話框 progressDialog.dismiss(); }}).start();整個過程就這樣完成了,下面是效果圖: