2017-04-10 12 views

答えて

1

あなたのrecyclerviewにaddOnScrollListener()を実装するだけです。次に、スクロールリスナーの内部に以下のコードを実装します。

RecyclerView.OnScrollListener mScrollListener = new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     if (mIsLoading) 
      return; 
     int visibleItemCount = mLayoutManager.getChildCount(); 
     int totalItemCount = mLayoutManager.getItemCount(); 
     int pastVisibleItems = mLayoutManager.findFirstVisibleItemPosition(); 
     if (pastVisibleItems + visibleItemCount >= totalItemCount) { 
      //End of list 
     } 
    } 
}; 
0
private RecyclerView.OnScrollListener nRecyclerViewOnScrollListener = new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
     super.onScrollStateChanged(recyclerView, newState); 
    } 

    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     super.onScrolled(recyclerView, dx, dy); 
     int visibleItemCount = notificationLayoutManager.getChildCount(); 
     int totalItemCount = notificationLayoutManager.getItemCount(); 
     int firstVisibleItemPosition = notificationLayoutManager.findFirstVisibleItemPosition(); 
     if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount) { 
      nLoadMoreItems(); 

     } 
    } 
}; 

private void nLoadMoreItems() { 
    if (defaultCurrentPage < defaultpageCount) 
     layout_load_more_loadingNotification.setVisibility(View.VISIBLE); 
    int pageCount = (defaultCurrentPage + 1); 
    //fetch second page data 
     } 

すべての答えを見た後

+0

ありがとう、 私の更新された回答は@Safal –

0

それを試して、私は

private RecyclerView.OnScrollListener nRecyclerViewOnScrollListener = new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) { 
     super.onScrollStateChanged(recyclerView, newState); 
     if (newState == 2) { 
      try { 
       if (lastVisibleItemPosition + 1 == totalItemCount) { 
        //Write you code here 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
       Log.i(TAG, e.getMessage()); 
      } 
     } 
    } 

    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     super.onScrolled(recyclerView, dx, dy); 
     totalItemCount = mLayoutManager.getItemCount(); 
     lastVisibleItemPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); 

    } 
}; 

、これを行うことによって、私の問題を解決し、あなたが持っているどのようなビュー

recyclerView.addOnScrollListener(nRecyclerViewOnScrollListener); 
関連する問題