一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条
本例将实现一个无框架的等待条,效果如下:
点击后,使线程Sleep5秒,就出现如下效果:
实现代码如:
private ProgressDialog pd; public void btn_click(View v) {
pd = ProgressDialog.show(MainActivity.this, "标题", "加载中,请稍后……");
/* 开启一个新线程,在新线程里执行耗时的方法 */
new Thread(new Runnable() {
@Override
public void run() {
spandTimeMethod();// 耗时的方法
handler.sendEmptyMessage();// 执行耗时的方法之后发送消给handler
}
}).start();
} private void spandTimeMethod() {
try {
Thread.sleep();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {// handler接收到消息后就会执行此方法
pd.dismiss();// 关闭ProgressDialog
}
};