Android 为什么进度更新中没有显示正确的进度
我使用AsyncTask从数据库获取数据。 为了通知用户下载了多少数据,我使用了ProgressDialog和onProgressUpdated,但它不会显示“正确”的进度。在我的例子中,它只显示“正在加载…0%”Android 为什么进度更新中没有显示正确的进度,android,asynchronous,task,progress,Android,Asynchronous,Task,Progress,我使用AsyncTask从数据库获取数据。 为了通知用户下载了多少数据,我使用了ProgressDialog和onProgressUpdated,但它不会显示“正确”的进度。在我的例子中,它只显示“正在加载…0%” 异步任务 { ... @凌驾 受保护的整数doInBackground(字符串…参数) { 对于(int i=0;i
异步任务
{
...
@凌驾
受保护的整数doInBackground(字符串…参数)
{
对于(int i=0;i
你有什么建议吗
谢谢你试试这个
出版进度(100/(大小-I))
在您的onProgressUpdate中,请执行此操作
progressDialog.setMessage(“加载…”+值[0]) 因为您要在整数值之间执行除法。不,当然不会,但是(int)((value[0]/(float)value[1])*100),可能会感谢您的建议-但是Blackbelt已经有了解决方案-我有一个integerdivison。受保护的void onProgressUpdate(Float…值)和this.publishProgress((Float)i,(Float)size);解决了这个问题
AsyncTask<>
{
...
@Override
protected Integer doInBackground(String... params)
{
for (int i = 0; i < size; i++)
{
...
this.publishProgress(i, size);
Thread.sleep(500); // Just to make the Progress visible
}
}
@Override
protected void onProgressUpdate(Integer... values)
{
progressDialog.setMessage("Loading... " + values[0] / values[1]*100 + "%");
}
}