Skip to content

executeLoadMore()逻辑问题,会造成lcok始终为true,不能加载,一直显示加载动画。 #20

@L444m

Description

@L444m

RecyclerViewFinal中executeLoadMore():

void executeLoadMore() {
    if(!mLoadMoreLock && mHasLoadMore) {
        if (mOnLoadMoreListener != null) {
            mOnLoadMoreListener.loadMore();
        }
        mLoadMoreLock = true;//上锁
        showLoadingUI();
    }
}

loadMore()是数据加载业务,在完成数据加载后,一般会调用RecyclerViewFinal.setHasLoadMore(true)去释放锁。但是如果 loadMore() 很快就结束,那么 mLoadMoreLock 就始终为 true.
下次再 load more 的时候,就会只显示加载动画,不会执行。

建议更改:

mLoadMoreLock = true;//上锁
if (mOnLoadMoreListener != null) {
    mOnLoadMoreListener.loadMore();
}
showLoadingUI();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions