Home > Blockchain >  get recyclerview current size after item change(after item removed)(notifyItemRemoved(position))
get recyclerview current size after item change(after item removed)(notifyItemRemoved(position))

Time:01-09

recycler view item removable at run time

i've to get dataset size of recyclerview after removable of item from recycler view

i'm removing item from adapter

    @Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

    String string = uriStringList.get(position);

    if (string != null) {
        holder.imagePhoto.setImageURI(Uri.parse(string));
    }

    holder.crossImg.setOnClickListener(view -> {
        uriStringList.remove(position);
        notifyItemRemoved(position);
    });

}

code in Fragment

    binding.recyclerViewImg.setLayoutManager(new LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false));
    binding.recyclerViewImg.setHasFixedSize(true);
    photoListAdapter = new PhotoListAdapter();
    binding.recyclerViewImg.setAdapter(photoListAdapter);
    photoListAdapter.setUriStringList(uriStringList);

CodePudding user response:

In your fragment you can use registerAdapterDataObserver on your adapter & when item gets removed you'll be notified & then get the new size.

For example:

photoListAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
            @Override
            public void onItemRangeRemoved(int positionStart, int itemCount) {
                Log.d(
                        "MG-onItemRangeRemoved", "count"   photoListAdapter.getItemCount()
                );
            }
        });
  •  Tags:  
  • Related