进行网络加载,为了用户体验,常常要用到进度条,我就找到一个很方便的用法:
private static final int MESSAGETYPE_01 = 0x0001;
private ProgressDialog progressDialog = null;
以下的方法是
private void proess(){
progressDialog = ProgressDialog.show(ProductItemActivity3.this, "加载中", "正在加载列表,请稍候!");
new Thread() {
public void run() {
try {
// 连接网络获取数据
} catch (Exception e) {
// 在GUI显示错误提示
Toast.makeText(ProductItemActivity3.this, "网络异常,加载失败!", Toast.LENGTH_SHORT).show();
}
Message msg_listData = new Message();
msg_listData.what = MESSAGETYPE_01;
handler.sendMessage(msg_listData);
}
}.start();
}
把这个 proess()方法放到Activity的onCreate方法里,启动Activity就调用进度条。
最后:
private Handler handler = new Handler() {
public void handleMessage(Message message) {
switch (message.what) {
case MESSAGETYPE_01:
// 刷新UI,显示数据,并关闭进度条
progressDialog.dismiss(); // 关闭进度条
break;
}
}
};