簡體   English   中英

檢測反向RecyclerView的頂部

[英]Detect top of reversed RecyclerView

我正在使用一個RecyclerView ,它像這樣反轉[像聊天視圖]

  mLinearLayoutManager = new LinearLayoutManager(this);
  mLinearLayoutManager.setReverseLayout(true);
  mLinearLayoutManager.setStackFromEnd(true);
  mRecyclerView.setLayoutManager(mLinearLayoutManager);

我正在嘗試檢測用戶何時滾動到RecyclerView最頂部

我已經嘗試過此代碼,但不正確

  mRecyclerView.addOnScrollListener(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);


                if (recyclerView.getAdapter().getItemCount() != 0) {
                    int firstVisibleItemPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition();
                    if (firstVisibleItemPosition != RecyclerView.NO_POSITION && firstVisibleItemPosition == 0)
                        loadMoreMSGs();
                }


            }
        });

有幫助嗎?

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            if (recyclerView.getAdapter().getItemCount() != 0) {
                int lastVisibleItemPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition();
                if (lastVisibleItemPosition != RecyclerView.NO_POSITION && lastVisibleItemPosition == recyclerView.getAdapter().getItemCount()-1)
                    loadMoreMSGs();
            }
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM