一般在需要訪問網路或者長時間操作的時候避免介面無響應才使用:等待條
本例將實現一個無框架的等待條,效果如下:
點選後,使執行緒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 } };