Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 滑动刷新布局动画不连贯_Android_Asynchronous_Rx Java - Fatal编程技术网

Android 滑动刷新布局动画不连贯

Android 滑动刷新布局动画不连贯,android,asynchronous,rx-java,Android,Asynchronous,Rx Java,我正在开发一个Android应用程序,每当用户希望更新时,我都需要检查web服务。这涉及到相当多的背景,我使用SwipeRefreshLayout来表示更新行为 我假设刷新动画是异步进行的,与我获取更新所做的任何工作无关,但当我执行拉操作时,动画中会出现明显的口吃,这会破坏整个过程的视觉效果。关于为什么会发生这种情况,以及如何解决它,有什么想法吗?如果我提供的信息足够,我还没有包括代码,如果没有,我将提供必要的代码示例 代码如下所示: onRefresh() { startService

我正在开发一个Android应用程序,每当用户希望更新时,我都需要检查web服务。这涉及到相当多的背景,我使用SwipeRefreshLayout来表示更新行为

我假设刷新动画是异步进行的,与我获取更新所做的任何工作无关,但当我执行拉操作时,动画中会出现明显的口吃,这会破坏整个过程的视觉效果。关于为什么会发生这种情况,以及如何解决它,有什么想法吗?如果我提供的信息足够,我还没有包括代码,如果没有,我将提供必要的代码示例

代码如下所示:

onRefresh()
{
    startService(syncServiceIntent);
}
然后,该服务检查该服务,并使用返回可观察数据的API调用使用任何可能的更新更新本地数据库。在完成之后,我广播了它,在收到这个广播后,我相应地使用我的数据的另一个可观察到的对象重新填充我的RecyclerView,最后继续

onCompleted()
{
    //do some stuff
    mSwipeRefreshLayout.setRefreshing(false);
    //do some other stuff
}

为什么动画会口吃?

你在运行主线程上的检查吗?或者,例如,通过AsyncTask?不,我正在使用一个使用RxJava执行更新的服务,但除此之外,为什么刷新动画会受到我在更新过程中所做工作的影响?因为代码正在工作,这可能更适合。@miken32未按预期工作的代码在CR上是离题的。“任何关于为什么会发生这种情况的想法以及如何解决它的想法”肯定没有达到预期的效果。请查看CR.Meta。@Mat'sMug足够公平;我认为如果它工作正常,但效率不高,CR就是它的所在。在未来将牢记这些指导原则。