i spend time in searching recycle multi type view . use navigation drawer using recycle view there use 2 view 1 header , 1 menu item. need inflate 2 array list first 1 'feature' item , 'normal' list of item in recycle view .in case need make 2 section in recycle view first 1 'feature' item after finish feature item , need make section normal item. how can ? idea ?
you can use library sectionedrecyclerviewadapter group data sections.
first create section class:
class mysection extends statelesssection { string title; list<string> list; public mysection(string title, list<string> list) { // call constructor layout resources section header, footer , items super(r.layout.section_header, r.layout.section_item); this.title = title; this.list = list; } @override public int getcontentitemstotal() { return list.size(); // number of items of section } @override public recyclerview.viewholder getitemviewholder(view view) { // return custom instance of viewholder items of section return new myitemviewholder(view); } @override public void onbinditemviewholder(recyclerview.viewholder holder, int position) { myitemviewholder itemholder = (myitemviewholder) holder; // bind view here itemholder.tvitem.settext(list.get(position)); } @override public recyclerview.viewholder getheaderviewholder(view view) { return new simpleheaderviewholder(view); } @override public void onbindheaderviewholder(recyclerview.viewholder holder) { myheaderviewholder headerholder = (myheaderviewholder) holder; // bind header view here headerholder.tvitem.settext(title); } }
then set recyclerview sections:
// create instance of sectionedrecyclerviewadapter sectionedrecyclerviewadapter sectionadapter = new sectionedrecyclerviewadapter(); // create sections list of data each year mysection section1 = new mysection("feature", firstdatalist); mysection section2 = new mysection("normal", seconddatalist); // add sections adapter sectionadapter.addsection(section1); sectionadapter.addsection(section2); // set recyclerview sectionedrecyclerviewadapter recyclerview recyclerview = (recyclerview) findviewbyid(r.id.recyclerview); recyclerview.setlayoutmanager(new linearlayoutmanager(getcontext())); recyclerview.setadapter(sectionadapter);
Comments
Post a Comment