关于PullToRefresh 上拉加载更多以及下拉刷新失效的问题

最近测试反馈一个旋转屏幕之后,界面不能上拉加载更多以及下拉刷新的问题,因为该界面允许旋转屏幕之后就销毁重建,
But,销毁重建我也设置Mode为Both了, 百思不得其解,没办法排坑咯

       mPullToRefreshRecyclerView = (PullToRefreshRecyclerView) (rootView.findViewById(R.id.homepage_fragment_recyclerview));
        mPullToRefreshRecyclerView.setMode(PullToRefreshBase.Mode.BOTH);
        mPullToRefreshRecyclerView.setScrollingWhileRefreshingEnabled(false);
        mRecyclerView = mPullToRefreshRecyclerView.getRefreshableView();

想着当我滑动屏幕时PullToRefresh的onInterceptTouchEvent()逻辑是咋处理的, 在方法里第一句就看到可疑的方法了-->isPullToRefreshEnabled()

image1.png

于是乎, 打了个断点, 发现这里 return false,也就是说他把滑动事件上交给国家了(不拦截上下的滑动事件了),excuse me? OK, 接着跟下去

@Override
    public final boolean isPullToRefreshEnabled() {
        return mMode.permitsPullToRefresh();
    }

boolean permitsPullToRefresh() {
            return !(this == DISABLED || this == MANUAL_REFRESH_ONLY);
        }

mMode是个内部枚举类, 跟到这里瞬间就明白了, 这里我外部虽然设置了Mode,霸特,内部肯定修改了这个值 , 这时候就该抖一下机灵了, 反推一下视图销毁,view走了重建... 二话不说奔着onRestoreInstanceState()方法去,果不其然

image2.png

0 --> disable, 把这个手动修改过来即可.
希望帮到遇到此问题的人!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容