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