Search code examples
androidfirebasefirebase-realtime-databasefirebaseui

How to know if a FirebaseRecyclerAdapter's itemCount has increased or decreased compared to previous count?


I'm using FirebaseUI's FirebaseRecyclerAdapter in my app.

Here's my code:

mRecyclerViewAdapter = new FirebaseRecyclerAdapter<AModelClass, AModelClass.ViewHolder>(
                AModelClass.class, R.layout.a_player_layout, APlayersModelClass.ViewHolder.class, lastFifty) {

            @Override
            protected void populateViewHolder(AModelClass.ViewHolder viewHolder, AsModelClass model, int position) {


            }
        };

aList.setAdapter(mRecyclerViewAdapter);

I want to do some operation when the count of the adapter has decreased but I'm unable to figure out how can I know that. Is there any way?

I tried googling but haven't got anything useful yet.


Solution

  • You could add an AdapterDataObserver like this:

        mRecyclerViewAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
            @Override
            public void onItemRangeRemoved(int positionStart, int itemCount) {
                super.onItemRangeRemoved(positionStart, itemCount);
                //Do something here...
            }
    
            @Override
            public void onItemRangeInserted(int positionStart, int itemCount) {
                super.onItemRangeInserted(positionStart, itemCount);
            }
    
            @Override
            public void onItemRangeChanged(int positionStart, int itemCount) {
                super.onItemRangeChanged(positionStart, itemCount);
            }
        });