[Solved] Item gets duplicated in adapter, when we delete or update item from Firebase Realtime Database


This Solution work for me :

This code will remove last item in adapter after performing deletion operation in firebase realtime database.

mAcceptedList.removeAt(adapterPosition);
mShortlistProfileAdapter.notifyDataSetChanged()

override fun onItemClicked(
    adapterPosition: Int,
    mUserListProfile: ArrayList<UserProfile>
) {
           mShortlistedProfileVM?.deleteUserProfile(mUserListProfile.get(adapterPosition))
            mAcceptedList.removeAt(adapterPosition);
            mShortlistProfileAdapter.notifyDataSetChanged()
        }
}
  1. To Prevent item gets duplicated.

Clear your list before adding data into list.

mAcceptedList.clear()    <---add this line of code. 

val listSize = etrieveDataResponse.userViewedProfile!!.mViewedProfileList.size
 val mListUserProfile = retrieveDataResponse.mViewedProfileList
 for (i in 0..listSize - 1) {
  if (mListUserProfile.get(i).mProfileStatus == true) {
  mAcceptedList.add(mListUserProfile.get(i))
 }

}
showDataOnAdapter(mAcceptedList)

solved Item gets duplicated in adapter, when we delete or update item from Firebase Realtime Database