I'm working on Nested Recycleview i have ParentAdopter class and ChildAdopter class as well as two classes for their items Parentitem ChildItem. I know how get the postion of parent but I want to know the child on which parent postion located on. for example if i click on child2 as you see on the shatimage I want Toast say ok you are a child of Parent postion 1 ![sample Image may clear my point ] (https://i.stack.imgur.com/4sT4e.jpg)
Parent Adopter
public class ParentItemAdapter extends RecyclerView.Adapter<ParentItemAdapter.ItemViewHolder> {
PostionParentAdopter_Interface get_postionParentAdopter_interface;
public List<Parent_Item> itemList;
public ParentItemAdapter(List<Parent_Item> itemList){
this.itemList = itemList;
}
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.message_adopter_parent_item, parent , false);
ItemViewHolder obj=new ItemViewHolder(view);
return obj;
}
@Override
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
Parent_Item parent_item = itemList.get(position);
holder.parent_tite.setText(parent_item.getText_titel());
ChildItemAdapter childItemAdapter = new ChildItemAdapter(parent_item.getChildItemList());
holder.parent_rec.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
holder.parent_rec.setHasFixedSize(true);
holder.parent_rec.setAdapter(childItemAdapter);
holder.parent_rec.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
notifyItemChanged(holder.getAdapterPosition());
}
});
}
Child Adopter
public class ChildItemAdapter extends RecyclerView.Adapter<ChildItemAdapter.ChildViewHolder> {
private List<ChildItem> ChildItemList;
ChildItemAdapter(List<ChildItem> childItemList)
{
this.ChildItemList = childItemList;
}
@NonNull
@Override
public ChildViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.message_adopter_child_item, parent , false);
ChildViewHolder obj=new ChildViewHolder(view);
return obj;
}
@Override
public void onBindViewHolder(@NonNull ChildViewHolder holder, int position) {
ChildItem currentcard=ChildItemList.get(position);
}
});
}