一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条
本例将实现一个无框架的等待条,效果如下:
点击后,使线程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(0);// 执行耗时的方法之后发送消给handler } }).start(); } private void spandTimeMethod() { try { Thread.sleep(5000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Handler handler = new Handler() { @Override public void handleMessage(Message msg) {// handler接收到消息后就会执行此方法 pd.dismiss();// 关闭ProgressDialog } };