@Override
 public void onScrollStateChanged(AbsListView absListView, int scrollState) {
   if ((scrollState == SCROLL_STATE_IDLE || scrollState == SCROLL_STATE_FLING)
       && mRefreshLayout != null
       && mRefreshLayout.shouldHandleAbsListViewLoadingMore(absListView)) {
     mRefreshLayout.beginLoadingMore();
   }
 }
 @Override
 public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
   if ((newState == RecyclerView.SCROLL_STATE_IDLE
           || newState == RecyclerView.SCROLL_STATE_SETTLING)
       && mRefreshLayout != null
       && mRefreshLayout.shouldHandleRecyclerViewLoadingMore(recyclerView)) {
     mRefreshLayout.beginLoadingMore();
   }
 }
  public boolean shouldHandleLoadingMore() {
    if (mRefreshLayout == null) {
      return false;
    }

    if (mDirectNormalView != null) {
      return true;
    }

    if (ScrollingUtil.isWebViewToBottom(mDirectWebView)) {
      return true;
    }

    if (ScrollingUtil.isScrollViewToBottom(mDirectScrollView)) {
      return true;
    }

    if (mDirectAbsListView != null) {
      return mRefreshLayout.shouldHandleAbsListViewLoadingMore(mDirectAbsListView);
    }

    if (mDirectRecyclerView != null) {
      return mRefreshLayout.shouldHandleRecyclerViewLoadingMore(mDirectRecyclerView);
    }

    if (mDirectViewPager != null) {
      if (mNestedContentView == null) {
        regetNestedContentView();
      }

      if (mNestedNormalView != null) {
        return true;
      }

      if (ScrollingUtil.isWebViewToBottom(mNestedWebView)) {
        return true;
      }

      if (ScrollingUtil.isScrollViewToBottom(mNestedScrollView)) {
        return true;
      }

      if (mNestedAbsListView != null) {
        return mRefreshLayout.shouldHandleAbsListViewLoadingMore(mNestedAbsListView);
      }

      if (mNestedRecyclerView != null) {
        return mRefreshLayout.shouldHandleRecyclerViewLoadingMore(mNestedRecyclerView);
      }
    }

    return false;
  }