recycler-view-merge-adapter icon indicating copy to clipboard operation
recycler-view-merge-adapter copied to clipboard

Android RecyclerView IllegalArgumentException: called detach on an already detached child ViewHolder

Open freecsdn opened this issue 8 years ago • 1 comments

freecsdn avatar Oct 24 '16 08:10 freecsdn

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

nawaf11 avatar Jul 14 '17 00:07 nawaf11