java - Change text in recycleview with custom font -


i change font of 'item' in recycleview custom font. can me this? manage change font header using

header_title = (textview) itemview.findviewbyid(r.id.header_title);  

and

typeface face_01 = typeface.createfromasset(itemview.getcontext().getassets(), "customfont/grb.otf");  header_title.settypeface(face_01); 

but have no idea how item in arraylist.

here java code adapter:-

    public class expandablelistadapter extends recyclerview.adapter<recyclerview.viewholder> {         public static final int header = 0;         public static final int child = 1;          private list<item> data;          public expandablelistadapter(list<item> data) {             this.data = data;         }          @override         public recyclerview.viewholder oncreateviewholder(viewgroup parent, int type) {             view view = null;             context context = parent.getcontext();             float dp = context.getresources().getdisplaymetrics().density;             int subitempaddingleft = (int) (18 * dp);             int subitempaddingtopandbottom = (int) (5 * dp);             switch (type) {                 case header:                     layoutinflater inflater = (layoutinflater) parent.getcontext().getsystemservice(context.layout_inflater_service);                     view = inflater.inflate(r.layout.list_header, parent, false);                     listheaderviewholder header = new listheaderviewholder(view);                     return header;                 case child:                     textview itemtextview = new textview(context);                     itemtextview.setpadding(subitempaddingleft, subitempaddingtopandbottom, 0, subitempaddingtopandbottom);                     itemtextview.settextcolor(0x88000000);                     itemtextview.setlayoutparams(                             new viewgroup.layoutparams(                                     viewgroup.layoutparams.match_parent,                                     viewgroup.layoutparams.wrap_content));                     return new recyclerview.viewholder(itemtextview) {                     };             }             return null;         }          public void onbindviewholder(recyclerview.viewholder holder, int position) {             final item item = data.get(position);             switch (item.type) {                 case header:                     final listheaderviewholder itemcontroller = (listheaderviewholder) holder;                     itemcontroller.refferalitem = item;                     itemcontroller.header_title.settext(item.text);                     if (item.invisiblechildren == null) {                         itemcontroller.btn_expand_toggle.setimageresource(r.drawable.circle_minus);                     } else {                         itemcontroller.btn_expand_toggle.setimageresource(r.drawable.circle_plus);                     }                     itemcontroller.btn_expand_toggle.setonclicklistener(new view.onclicklistener() {                         @override                         public void onclick(view v) {                             if (item.invisiblechildren == null) {                                 item.invisiblechildren = new arraylist<item>();                                 int count = 0;                                 int pos = data.indexof(itemcontroller.refferalitem);                                 while (data.size() > pos + 1 && data.get(pos + 1).type == child) {                                     item.invisiblechildren.add(data.remove(pos + 1));                                     count++;                                 }                                 notifyitemrangeremoved(pos + 1, count);                                 itemcontroller.btn_expand_toggle.setimageresource(r.drawable.circle_plus);                             } else {                                 int pos = data.indexof(itemcontroller.refferalitem);                                 int index = pos + 1;                                 (item : item.invisiblechildren) {                                     data.add(index, i);                                     index++;                                 }                                 notifyitemrangeinserted(pos + 1, index - pos - 1);                                 itemcontroller.btn_expand_toggle.setimageresource(r.drawable.circle_minus);                                 item.invisiblechildren = null;                             }                         }                     });                     break;                 case child:                     textview itemtextview = (textview) holder.itemview;                     itemtextview.settext(data.get(position).text);                     break;             }         }          @override         public int getitemviewtype(int position) {             return data.get(position).type;         }          @override         public int getitemcount() {             return data.size();         }          private static class listheaderviewholder extends recyclerview.viewholder {             public textview header_title;             public imageview btn_expand_toggle;             public item refferalitem;              public listheaderviewholder(view itemview) {                 super(itemview);                 header_title = (textview) itemview.findviewbyid(r.id.header_title);                 btn_expand_toggle = (imageview) itemview.findviewbyid(r.id.btn_expand_toggle);                  typeface face_01 = typeface.createfromasset(itemview.getcontext().getassets(), "customfont/grb.otf");                 header_title.settypeface(face_01);             }         }          public static class item {             public int type;             public string text;             public list<item> invisiblechildren;              public item() {             }              public item(int type, string text) {                 this.type = type;                 this.text = text;             }         }     } 

gloabally define fontpath , typeface

 typeface typeface;  string fontpath = "fonts/kaushanscript-regular.otf"; 

in constructor following

public expandablelistadapter(context context,list<item> data) { typeface = typeface.createfromasset(context.getassets(), fontpath);             this.data = data;         } 

in bindviewholder

holder.itemtextview.settypeface(typeface); 

Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -