我在我的一个项目中使用来自couchbase的复制服务。
我想使用带有百分比的Progressdialog来显示复制进度。
正如文档所说,我在AsyncTask
所以
@Override
protected Void doInBackground(Void... params) {
//other code
double total = push.getCompletedChangesCount() + pull.getCompletedChangesCount();
progressDialog.setMax(total);
progressDialog.setProgress(push.getChangesCount() + pull.getChangesCount());
//.....end }
在log cat上我得到了
I / LoginActivity:复制进度= 51029< -this number changes
I / LoginActivity:复制总数= 56117< -this number更改为 井
我遇到的问题是progressdialog停留在0%,没有显示进度 关于如何解决它的任何想法?
答案 0 :(得分:0)
doInBackground
只执行一次,因此您无法获得对话框的任何更新。
改为使用AsyncTask的onProgressUpdate
方法:
@Override
protected void onProgressUpdate(Void... params) {
super.onProgressUpdate(values);
double total = push.getCompletedChangesCount() + pull.getCompletedChangesCount();
progressDialog.setMax(total);
progressDialog.setProgress(push.getChangesCount() + pull.getChangesCount());
}