【发布时间】:2014-09-12 03:35:06
【问题描述】:
我正在使用 AsyncTask 从数据库中获取数据。 为了通知用户下载了多少数据,我使用了 ProgressDialog 和 onProgressUpdated - 但它不会显示“正确”的进度。在我的情况下,它只显示“正在加载... 0%”
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 + "%");
}
}
你有什么建议吗?
谢谢
【问题讨论】:
-
因为您正在执行整数值之间的除法。
-
不,当然不会,但是 (int)((values[0]/(float)values[1]) * 100),可能会
标签: android asynchronous task progress