.Net程式設計師安卓學習之路6:等待條

石曼迪發表於2015-03-16

一般在需要訪問網路或者長時間操作的時候避免介面無響應才使用:等待條

本例將實現一個無框架的等待條,效果如下:

wpsB84B.tmp

點選後,使執行緒Sleep5秒,就出現如下效果:

 

wpsD232.tmp

實現程式碼如:

    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
        }
    };

 

相關文章