Android开发 解决RecyclerView in SwipeRefreshLayout触发下拉刷新的bug
转载请注明 作者:田野光 地址:http://blog.youkuaiyun.com/lovefish2/article/details/45921041
首先我们来看一下会遇到的问题:
我们知道, SwipeRefreshLayout 会监听滑动操作,并相应触发下拉刷新,如果布局文件中内含了可滑动的控件,如ScrollView等,则很有可能会在错误的时候触发下拉刷新(譬如当你下拉页面想要浏览上方内容), 好消息是所有AbsListView 子类,包括listview, ExpandableListView 等控件,只要是XML布局内部的直接下级,SwipeRefreshLayout都内置了判断方法,可以避免错误的触发.不过其他情况就需要单独处理了.
说解决办法前,我们先看一下SwipeRefreshLayout的源码:
public boolean canChildScrollUp() {
if (android.os.Build.VERSION.SDK_INT < 14) {
if (mTarget