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()
);
}
});

