首页 > alertDialog文字实时更新怎么做?

alertDialog文字实时更新怎么做?

alertDialog实时更新怎么做? 要做一个下载的进度条,,,这个要怎么做alertDialog中message的更新?


使用Handler或者异步AsyncTask实现


根据你下载的总大小还有现在下载的进度除一下,然后发消息到handler中更新dialog中的textview,现在在公交上,回去贴代码


    private Handler myHandler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            switch (msg.what) {

                case 0x01:

                    Bundle data = msg.getData();
                    String format = data.getString("format");

                    tv_dialog.setText("正在下载"+format);

                    break;

            }

        }
    };
kjHttp.download(file.getPath(), urlNew, new HttpCallBack() {

                @Override
                public void onLoading(long count, long current) {
                    super.onLoading(count, current);
// 创建一个数值格式化对象

                    NumberFormat numberFormat = NumberFormat.getInstance();

                    // 设置精确到小数点后2位

                    numberFormat.setMaximumFractionDigits(2);
                    String format = numberFormat.format((float) current / (float) count * 100);
//                    Log.i(TAG, format);
//                    builder.setMessage("正在下载" + format + "%");

//                    textView.setText("正在下载" + format + "%");
                    Message message = new Message();
                    message.what = 0x01;

                    Bundle bundle = new Bundle();
                    bundle.putString("format", format + "%");

                    message.setData(bundle);
                    myHandler.sendMessage(message);

                }

                @Override
                public void onSuccess(byte[] t) {
                    super.onSuccess(t);
                    alertDialog.dismiss();
                 
                }

                @Override
                public void onFailure(int errorNo, String strMsg) {
                    super.onFailure(errorNo, strMsg);
                }
            });
【热门文章】
【热门文章】