簡體   English   中英

RecyclerView addOnScrollListener 與 FirebaseRecyclerAdapter

[英]RecyclerView addOnScrollListener with FirebaseRecyclerAdapter

我正在編寫一個程序,我正在使用 FirebaseRecyclerAdapter 從 Firebase 數據庫中獲取數據

我正在嘗試實現在每個滾動條上添加 20 條記錄並實現相同的功能,我正在使用:

mDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Users");
queryUsersData = mDatabaseReference.orderByChild("timestamp").limitToFirst(20); 

現在,問題是我得到了前 20 條記錄,但是在滾動時我沒有得到接下來的 20 條記錄,因為在每次滾動時,我都想得到接下來的 20 條記錄

開始()

FirebaseRecyclerAdapter<Users, UsersViewHolder> adapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(
                Users.class,
                R.layout.user_layout,
                UsersViewHolder.class,
                queryUsersData
        ) {

            @Override
            protected void populateViewHolder(UsersViewHolder usersViewHolder, Users users, int position) {
                 final String userID = getRef(position).getKey();
                 ....
            }
      };
      usersList.setAdapter(adapter);
}

RecyclerView addOnScrollListener

Boolean isScrolling = false;
int currentItems, totalItems, scrollOutItems;

..........

usersList.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
                if(newState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
                    isScrolling = true;
                }
            }

            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                currentItems = linearLayoutManager.getChildCount();
                totalItems = linearLayoutManager.getItemCount();
                scrollOutItems = linearLayoutManager.findFirstVisibleItemPosition();

                if(isScrolling && (currentItems + scrollOutItems == totalItems)) {
                    isScrolling = false;
                }

            }
        });

現在下一步該怎么做? 實現我的目標!

分頁將實現您想要的干凈可靠,我最近將它與 Kotlin 一起使用,但這里有一個 java 實現。

使用 Java + Firebase 實時數據庫進行分頁

暫無
暫無

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

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