huxq17 / XRefreshView

一个万能的android下拉上拉刷新的框架,完美支持recyclerview
1.7k stars 501 forks source link

上拉加载更多setCustomLoadMoreView的问题 #46

Open wmszhe opened 7 years ago

wmszhe commented 7 years ago

viewpager嵌套fragment的情况,只有第一个fragment和最后一个fragment中可以正常使用加载更多功能,其他fragment会显示加载完成,并且需要上拉2个才能正常加载

wmszhe commented 7 years ago

写错了,需要上拉2次才能正常加载

huxq17 commented 7 years ago

demo里scrollview的例子是用的viewpager,你看看有没有问题。

wmszhe commented 7 years ago

写假数据没问题,从接口返回数据就出问题,正在排查

wmszhe commented 7 years ago

出现这个问题时,会打印这个日志:

isTop=false;isBottom=false

大概会是哪里的问题?

huxq17 commented 7 years ago

你给个例子看看吧,应该是用法上有问题。

wmszhe commented 7 years ago

非常感谢,问题排查出来了,我使用了类似这种http://blog.csdn.net/maosidiaoxian/article/details/38300627 的懒加载方式,在lazyLoad中加载数据就会出问题,换到onCreateView中加载就没问题了。 具体原因还没深入查看

huxq17 commented 7 years ago

把你的懒加载关于xrefreshview的部分贴出来,我看看有什么问题。

wmszhe commented 7 years ago
private void initRefresh() {

    mRefresh.setPullLoadEnable(true);
    mRefresh.setAutoLoadMore(true);

    mAdapter.setCustomLoadMoreView(new XRefreshViewFooter(mActivity));

    mRefresh.setXRefreshViewListener(new XRefreshView.SimpleXRefreshListener() {
        @Override
        public void onRefresh() {
            super.onRefresh();
            mOffset = 0;
            mAdapter.clear();
            ArticleApi.postList(mActivity, "13", mOffset, articleListCallback);
        }

        @Override
        public void onLoadMore(boolean isSilence) {
            super.onLoadMore(isSilence);
            mOffset++;
            ArticleApi.postList(mActivity, "13", mOffset, articleListCallback);
        }
    });
}