Fragment 中使用 SwipeRefreshLayout 导致的不能退出问题

之前做项目的时候,发现在 Fragment 中使用 SwipeRefreshLayout 会有一个问题,就是当 SwipeRefreshLayout 正在刷新的时候如果切换 Fragment ,会导致当前 Fragment 的界面保留在 Activity 中的相应位置上,切换到其他的 Fragment 会和之前的 Fragment 重合,并且 SwipeRefreshLayout 会一直处于刷新状态直到退出 Activity ,解决方法有两个,下面分别说明。

方法一  :在退出 Fragment 的时候结束 SwipeRefreshLayout 动画,并且清除缓存,如下所示:

@Override

public void onDestroyView() {

super.onDestroyView();

refreshLayout.setRefreshing(false);

refreshLayout.destroyDrawingCache();

refreshLayout.clearAnimation();

unbinder.unbind();

}

方法二  :在 SwipeRefreshLayout 的外层嵌套一层 FrameLayout ,即保证 SwipeRefreshLayout 不是处在根布局即可

你可能感兴趣的:(Fragment 中使用 SwipeRefreshLayout 导致的不能退出问题)