我怎样才能有一连串带有进度条更新的凌空请求



我有多个HTTP(JSON对象(请求,我正在使用凌空。 最初我让他们一次全部火。 现在我将它们链接起来,就像当一个请求收到响应并执行另一个请求时一样。 列表太长,无法在此处显示,但这是一个简化的示例:

//first request
JsonObjectRequest request = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>()
{
@Override
public void onResponse(JSONObject response)
{
//second request
JsonObjectRequest request = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>()
{
@Override
public void onResponse(JSONObject response)
{
//another request here...
}
}, new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
Log.e("Volley Error", error.toString());
}
})
//first request continues
}
}, new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
Log.e("Volley Error", error.toString());
}
})

我希望进度条在每个响应后显示 xx%。 我已经尝试了runOnUIThread,并尝试使用"onProgressUpdate"将整个代码块包装在"AsyncTask"中。 但它行不通。

如何正确合并进度更新?

我试图使用一个不起作用的数学表达式 - 所以进度条没有移动。

当我用简单的等式(下面(代替一个数字时,它工作正常。

我将一个变量设置为请求总数。 我想传递每个的百分比,所以我尝试了(1 / num) * 100. 然后我意识到它把它当作一个整数,所以我在前面添加了(float)。 通过调试,我发现括号中的部分与预期一样好。 但是* 100没有奏效。

最新更新