android - Insert an item into the inner RecyclerView adapter -


i have recyclerview shows full-height recyclerviews items. , need insert new item in inner recylerview adapter. wrote method in adapter of top level recyclerview:

public void notifyinneriteminserted(final int position, final int insertposition) {     viewholder holder = (viewholder)mrecyclerview.findviewholderforadapterposition(position);      if(holder != null) {         day day = records.get(position);         holder.madapter.clear();         holder.madapter.addall(day.getitems());         holder.madapter.notifyiteminserted(insertposition);     } } 

but doesn't work. , if try update whole item of top level: dayadapter.notifydataiteminserted(position); doesn't work same. looks recyclerview holds old drawable cache. below full code of top level adapter:

public class dayadapter extends recyclerview.adapter<dayadapter.viewholder> {      private recyclerview mrecyclerview;      public dayadapter(recyclerview recyclerview) {         mrecyclerview = recyclerview;     }      @override     public viewholder oncreateviewholder(viewgroup parent, final int viewtype) {         context context = parent.getcontext();         layoutinflater inflater = layoutinflater.from(context);         view view = inflater.inflate(r.layout.li_day, parent, false);         return new viewholder(view);     }      @override     public void onbindviewholder(viewholder holder, final int position) {         final day day = records.get(position);         list<record> items = day.mitems;          if(items == null || items.size() == 0) {             holder.mcontent.setvisibility(view.gone);         } else {             holder.mcontent.setvisibility(view.visible);             holder.madapter.clear();             holder.madapter.addall(day.getitems());             holder.madapter.notifydatasetchanged();         }     }      public class viewholder extends recyclerview.viewholder {          private recyclerview mcontent;         private adapter madapter = new adapter();          public viewholder(final view itemview) {             super(itemview);             mcontent = (recyclerview) itemview.findviewbyid(r.id.rvcontent);             mcontent.setnestedscrollingenabled(false);             fullexpandedlistmanager lm = new fullexpandedlistmanager(mcontent.getcontext());             simpleitemdecoration decoration = new simpleitemdecoration(mcontent.getcontext(),                     simpleitemdecoration.vertical_list);             mcontent.setlayoutmanager(lm);             mcontent.additemdecoration(decoration);             mcontent.setadapter(madapter);         }     }      public static class day extends baseadapter.record<day> {         private list<record> mitems;          public list<record> getitems() {             return mitems;         }          public day setitems(list<record> items) {             mitems = items;             return this;         }     }      public void notifyinneriteminserted(final int position, final int insertposition) {         viewholder holder = (viewholder)mrecyclerview.findviewholderforadapterposition(position);          if(holder != null) {             holder.madapter.notifyiteminserted(insertposition);         }     } } 

what doing wrong? how fix solution?


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -