Ad

Item Gets Duplicated In Adapter, When We Delete Or Update Item From Firebase Realtime Database

Items in adapter gets duplicated 2 or 3 times when we try to delete item from list in firebase realtime database.

Last item in adapter didnt gets removed after we perform deletion in firebase database realtime.

Tried notifyDataSetChanged().

override fun onItemClicked(
    adapterPosition: Int,
    mUserListProfile: ArrayList<UserProfile>
) {
     mShortlistedProfileVM?.deleteUserProfile(mUserListProfile.get(adapterPosition))
            mShortlistProfileAdapter.notifyDataSetChanged()
        }

}

Last item in adapter should be removed, after we perform deletion [operation in firebase realtime database. and Duplicated item should be removed.

Ad

Answer

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)

Ad
source: stackoverflow.com
Ad