RecyclerView scrollToPosition not trigger scrollListener

前端 未结 8 2166
予麋鹿
予麋鹿 2021-02-01 03:35

I\'m using RecyclerView, with ScrollListener:

mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener()
{
        @Override
        public void onScr         


        
8条回答
  •  星月不相逢
    2021-02-01 04:16

    int mFirst=0, mLast=0;
    
    recyclerview.setOnScrollListener(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);
            LinearLayoutManager llm = (LinearLayoutManager) recyclerview.getLayoutManager();
            mLast = llm.findLastCompletelyVisibleItemPosition();
            mFirst = llm.findFirstCompletelyVisibleItemPosition();
        }
    });
    
    imgRight.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            LinearLayoutManager llm = (LinearLayoutManager) recyclerview.getLayoutManager();
            llm.scrollToPositionWithOffset(mLast + 1, List.length());
        }
    });
    
    imgLeft.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            LinearLayoutManager llm = (LinearLayoutManager) recyclerview.getLayoutManager();
            llm.scrollToPositionWithOffset(mFirst - 1, List.length());
        }
    });
    

提交回复
热议问题