首页 > 技术文章 > android 网络异步加载数据进度条

changyaohua 2015-07-25 11:06 原文

ProgressDialog progressDialog = null;

public static final int MESSAGETYPE = 0;

private void execute() {

        try {

            progressDialog = ProgressDialog.show(context
                    "请稍等...", "数据正在加载中......", true);
            new Thread(new Runnable() {

                @Override
                public void run() {

                    //请求网络数据加载实现代码

                    Message msg_netData = new Message();

                    msg_netData.obj = dropList;//传送数据
                    msg_netData.what = MESSAGETYPE;

                    operate.sendMessage(msg_netData);
                }
            }).start();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private Handler operate = new Handler() {

        @Override
        public void handleMessage(Message msg) {
                   switch (msg.what) {

            case MESSAGETYPE:
                progressDialog.dismiss();
                break;
           
            default:
                break;
            }
        }

    }; 

 

线程通信必须放在线程内,否则不会提前弹出进步条,也就是这段代码必须放在线程内

        Message msg_netData = new Message();
                    msg_netData.obj = data;
                    operate.sendMessage(msg_netData);

如果放在线程外,只会等到所有的数据加载完后同步到界面上显示。

 

转载自:android 网络异步加载数据进度条

推荐阅读