.Net程序员安卓学习之路6:等待条

一般在需要访问网络或者长时间操作的时候避免界面无响应才使用:等待条

本例将实现一个无框架的等待条,效果如下:

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

 

posted @ 2015-03-16 12:05  石曼迪  Views(493)  Comments(0Edit  收藏  举报
瓴域建设-环保事业中心