android – 新版本的SwipeRefreshLayout导致错误的视图绘制

我有一个由Fragments组成的ViewPager(由AbstractBrowsePagerAdapter支持).每个片段都使用SwipeRefreshLayout作为根来扩展布局.我最近更新到support-v4:21.0.0库.新的SwipeRefreshLayout使用圆形进度条而不是线性垂直进度条,如下面的屏幕截图所示.

当我拉动刷新时,向右滑动,在ViewPager中创建一个与我拉动刷新的索引相同的索引,然后转到新的碎片,上一个视图仍然出现在我的新内容之上.

正如您在屏幕截图中看到的那样,“空目录”textview和“circle progressbar”仍然出现在上一个被破坏的片段中.

>仅当SwipeRefreshLayout处于加载状态(加载器显示在屏幕上)时才会出现这种情况
>以前版本的SwipeRefreshLayout不会发生这种情况
>发生错误时,hierarchyviewer工具不起作用.它之前有效,如果我重新启动应用程序,但在处于窃听状态时不起作用.
>当我使用DDMS转储视图时,不会显示上一个片段中的视图.

这似乎是新的SwipeRefreshLayout中的一个错误,但我找不到任何人有相同的问题,似乎没有在https://code.google.com/p/android/issues/list?can=1&q=SwipeRefreshLayout&colspec=ID+Type+Status+Owner+Summary+Stars&cells=tiles上报告

我正在寻找一种解决方法,强制删除前一个片段中的视图.

解决方法

我能够通过在Fragment的onPause()方法上调用clearAnimation()来解决这个问题
@Override
public void onPause() {
    swipeLayout.clearAnimation();
    super.onPause();
}

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...