private void setupFeed() {
    final LinearLayoutManager linearLayoutManager =
        new LinearLayoutManager(getActivity()) {
          @Override
          protected int getExtraLayoutSpace(RecyclerView.State state) {
            return 300;
          }
        };
    rvFeed.setLayoutManager(linearLayoutManager);

    feedAdapter = new VideoFeedAdapter(getActivity());
    feedAdapter.setOnFeedItemClickListener(this);
    rvFeed.setAdapter(feedAdapter);

    ViewUtils.setSwipeRefreshLayoutColor(mSwipeRefreshLayout);
    mSwipeRefreshLayout.setOnRefreshListener(
        new SwipeRefreshLayout.OnRefreshListener() {
          @Override
          public void onRefresh() {
            lazyLoad();
            isFeedEnd = false;
            mSwipeRefreshLayout.setEnabled(false);
          }
        });

    // RecyclerView滑动监听
    rvFeed.addOnScrollListener(
        new RecyclerView.OnScrollListener() {
          @Override
          public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            if (isLoading || isFeedEnd) {
              return;
            }
            if (newState == RecyclerView.SCROLL_STATE_IDLE
                && lastVisibleItem + 1 == feedAdapter.getItemCount()) {
              loadMore();
            }
          }

          @Override
          public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
          }
        });

    mIsPrepared = true;
    lazyLoad();
  }