recycler-view-merge-adapter
recycler-view-merge-adapter copied to clipboard
Android RecyclerView IllegalArgumentException: called detach on an already detached child ViewHolder
I had this problem and the reason why this error happen because I was have something like this:
View sectionView = LayoutInflater.from(getContext()).inflate(R.layout.deck_section_header,null);
mergeAdapter.addView(sectionView);
mergeAdapter.addAdapter( (RecyclerView.Adapter) recAdapter_main);
mergeAdapter.addView(sectionView); // this sectionView instance is duplicatied, this cause of error
mergeAdapter.addAdapter( (RecyclerView.Adapter) recAdapter_extra);
I solved the problem by edit code to be:
View sectionView = LayoutInflater.from(getContext()).inflate(R.layout.deck_section_header,null);
View sectionView2 = LayoutInflater.from(getContext()).inflate(R.layout.deck_section_header,null);
mergeAdapter.addView(sectionView);
mergeAdapter.addAdapter( (RecyclerView.Adapter) recAdapter_main);
mergeAdapter.addView(sectionView2);
mergeAdapter.addAdapter( (RecyclerView.Adapter) recAdapter_extra);