我有一个由片段组成的viewpager(由一个abstractbrowsepageradapter支持)。每个片段都以swiperefreshlayout作为根对布局进行充气。我最近更新了support-v4:21.0.0库。新的swiperefreshlayout使用圆形进度条,而不是下面屏幕截图中显示的线性垂直进度条。
当我拖动刷新时,向右滑动,在viewpager中创建一个与拖动刷新的索引相同的新片段,然后转到该新片段时,上一个视图仍然显示在新内容的顶部。
正如您在屏幕截图上看到的,“空目录”文本视图和“圆形进度条”仍然出现在之前被销毁的片段中。
只有当swiperefreshlayout处于加载状态(加载程序显示在屏幕上)时才会发生这种情况。
这不会在以前版本的swiperFreshLayout中发生
当错误发生时,hierarchyviewer工具不起作用。它以前工作过,如果我重新启动应用程序,它就会工作,但在错误状态下不工作。
当我使用DDMS转储视图时,上一个片段中的视图不会出现。
这似乎是新swiperefreshlayout中的一个bug,但我找不到任何人有相同的问题,而且似乎没有在https://code.google.com/p/android/issues/list?can=1&q=SwipeRefreshLayout&colspec=ID+Type+Status+Owner+Summary+Stars&cells=tiles
我正在寻找一个解决方法,强制将前一个片段中的视图永久删除。

最佳答案

我可以通过在片段的onpause()方法上调用clearanimation()来解决这个问题

@Override
public void onPause() {
    swipeLayout.clearAnimation();
    super.onPause();
}

关于android - 新版本的SwipeRefreshLayout会导致错误的 View 绘制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27411397/

10-12 05:17