java - How to give data to recyclerView using getters and setters in fragment. The data stored in a class as String Array -
my aim build recyclerview gridlayoutmanager 5 columns in fragment.
i call boardfragment in mainactivity's oncreateview
public class mainactivity extends appcompatactivity { public static final string board_fragment = "board_fragment"; public static final string board_number_index = "board_number_index"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); numbermodel number = new numbermodel(); number.setnumbers(arrays.tostring(boardnumbers.numbers)); boardfragment boardfragment = new boardfragment(); bundle bundle = new bundle(); bundle.putparcelable(board_number_index, savedinstancestate); boardfragment.setarguments(bundle); fragmentmanager fragmentmanager = getsupportfragmentmanager(); fragmenttransaction fragmenttransaction = fragmentmanager.begintransaction(); fragmenttransaction.add(r.id.maincontainer, boardfragment, board_fragment); fragmenttransaction.commit(); } }
and boardfragment
public class boardfragment extends fragment { private numbermodel[] mnumbermodels; @nullable @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) { view view = inflater.inflate(r.layout.fragment_board, container, false); bundle bundle = this.getarguments(); if (bundle != null) { mnumbermodels = bundle.getparcelable(mainactivity.board_fragment); parcelable[] parcelables = bundle.getparcelablearray(mainactivity.board_number_index); mnumbermodels = arrays.copyof(parcelables, parcelables.length, numbermodel[].class); } recyclerview recyclerview = (recyclerview) view.findviewbyid(r.id.boardrecyclerview); boardgridadapter adapter = new boardgridadapter(getactivity(), mnumbermodels); recyclerview.setadapter(adapter); recyclerview.layoutmanager manager = new gridlayoutmanager(getactivity(), 5); recyclerview.setlayoutmanager(manager); recyclerview.sethasfixedsize(true); return view; } }
the boardgridadapter is
public class boardgridadapter extends recyclerview.adapter<boardgridadapter.boardviewholder> { private context mcontext; private numbermodel[] mnumbermodels; public boardgridadapter(context context, numbermodel[] numbermodels) { mcontext = context; mnumbermodels = numbermodels; } @override public boardviewholder oncreateviewholder(viewgroup parent, int viewtype) { view view = layoutinflater.from(parent.getcontext()).inflate(r.layout.item_board, parent, false); boardviewholder viewholder = new boardviewholder(view); return viewholder; } @override public void onbindviewholder(boardviewholder holder, int position) { holder.bindview(mnumbermodels[position]); } @override public int getitemcount() { return mnumbermodels.length; } public class boardviewholder extends recyclerview.viewholder { public textview mtextview; public boardviewholder(view itemview) { super(itemview); mtextview = (textview) itemview.findviewbyid(r.id.boardnumber); } public void bindview (numbermodel numbermodel) { mtextview.settext(numbermodel.getnumbers()); } } }
i done getters , setters here parcelabe
public class numbermodel implements parcelable { private string mnumbers; public numbermodel() {} public string getnumbers() { return mnumbers; } public void setnumbers(string numbers) { mnumbers = numbers; } @override public int describecontents() { return 0; } @override public void writetoparcel(parcel parcel, int i) { parcel.writestring(mnumbers); } private numbermodel (parcel in) { mnumbers = in.readstring(); } public static final creator<numbermodel> creator = new creator<numbermodel>() { @override public numbermodel createfromparcel(parcel parcel) { return new numbermodel(parcel); } @override public numbermodel[] newarray(int i) { return new numbermodel[i]; } }; }
i stored data in class named boardnumbers.class , have string array
public class boardnumbers { public static string[] numbers = new string []{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25"}; }
i don't understand why code not working
now shows error in boardfragment.java
error:(31, 49) error: incompatible types: inferred type not conform upper bound(s) inferred: int#1 upper bound(s): numbermodel[],parcelable int#1 intersection type: int#1 extends numbermodel[],parcelable
Comments
Post a Comment