I have a recyclerview(parent) that populated with some recyclerviews(child) in a fragment and I want to update each of the nested recyclerviews(child) directly from fragment with an action (for example click action), how can I do this in a perfect and efficient manner?
Initial ParentAdapter
     ParentAdapter adapter = new ParentAdapter(dataSet);
     mBinding.recyclerView.setAdapter(adapter);
ParentAdapter.java
public class MainAdapter extends RecyclerView.Adapter<MainAdapter.ViewHolder> {
    private final RecyclerView.RecycledViewPool viewPool;
    private List<CartItemCategory> dataSet;
    public MainAdapter(List<CartItemCategory> dataSet) {
        this.dataSet = dataSet;
        
    }
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        ShoppingCardParentItemLayoutBinding mBinding = ShoppingCardParentItemLayoutBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
        return new ViewHolder(mBinding);
    }
    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.mBinding.setCartItemCategory(dataSet.get(position));
        ChildAdapter childAdapter = new ChildAdapter(dataSet.get(position).getCartItems());
        holder.mBinding.recyclerView.setHasFixedSize(true);
        holder.mBinding.recyclerView.setAdapter(childAdapter);
        holder.mBinding.recyclerView.setRecycledViewPool(viewPool);
    }
    @Override
    public int getItemCount() {
        return dataSet.size();
    }
    class ViewHolder extends RecyclerView.ViewHolder {
        ShoppingCardParentItemLayoutBinding mBinding;
        ViewHolder(@NonNull ShoppingCardParentItemLayoutBinding mBinding) {
            super(mBinding.getRoot());
            this.mBinding = mBinding;
        }
    }
}
ChildAdapter.java
public class ChildAdapter extends RecyclerView.Adapter<InnerAdapter.ViewHolder> {
    private List<CartItem> cartItems;
    public ChildAdapter(List<CartItem> cartItems) {
        this.cartItems = cartItems;
    }
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        ShoppingCardItemLayoutBinding mBinding = ShoppingCardItemLayoutBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
        return new ViewHolder(mBinding);
    }
    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.mBinding.setCartItem(cartItems.get(position));
    }
    @Override
    public int getItemCount() {
        return cartItems.size();
    }
    class ViewHolder extends RecyclerView.ViewHolder {
        ShoppingCardItemLayoutBinding mBinding;
        ViewHolder(@NonNull ShoppingCardItemLayoutBinding mBinding) {
            super(mBinding.getRoot());
            this.mBinding = mBinding;
            }
    }
}
Parent recyclerview
<androidx.recyclerview.widget.RecyclerView
  android:id="@+id/recycler_view"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
>
Child item layout
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
        </androidx.constraintlayout.widget.ConstraintLayout>
</layout>
 
    