Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 从服务器返回响应时完成活动,但等待动画结束大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过Volley向服务器发送请求;发送后,增加一个显示请求数的变量.
VolleyGeneral.geTinstance().addTorequestQueue(jsonObj,TAG);
numberOfReq++;

然后,当我得到响应时,减少该变量.

@Override
public void onResponse(JSONObject responsE){
    numberOfReq--;
}

另一方面,我正在显示一个图像,使用淡入淡出动画2秒然后我完成了活动并转到下一个活动.

但我想在完成活动之前等待所有服务器响应.所以我写这个部分是这样的

@Override
public void onAnimationEnd(Animation anim){
    while(numberOfReq == 0){
        numberOfReq = -1;
        startActivity(intent);
        finish();
        break;
    }
}

如果服务器在2秒之前发送响应,则一切都是Okey.

但是如果在2秒后收到回复,活动就没有完成.

解决方法

也许我不理解这个问题,因为答案似乎非常简单.只要活动“准备完成”就设置一个标志,然后在onResponse()中检查这个条件.

onAnimationEnd()或最后一个onResponse()将首先运行,第二个应该开始第二个活动.例如:

private Boolean mReadyToProceed;

@Override
public void onAnimationEnd(Animation anim)
{
    if (numberOfReq == 0)
        startOtherActivityAndFinish();
    else
       mReadyToProceed = true;
}

@Override
public void onResponse(JSONObject responsE)
{
    numberOfReq--;
    if (mReadyToProceed && numberOfReq == 0)
        startOtherActivityAndFinish();
}

(注意:确保减量和比较不受其他请求线程的影响,可能使用锁或使用AtomicInteger).

大佬总结

以上是大佬教程为你收集整理的android – 从服务器返回响应时完成活动,但等待动画结束全部内容,希望文章能够帮你解决android – 从服务器返回响应时完成活动,但等待动画结束所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。