android - Retrieving data inside of RecyclerView -
i want create card view inside recycler view.
i got problem.i can't retrieve data inside of card views.
i want whenever check box true, data(meal, price, , count in example (1)) , add list in main activity.
i stuck on 6 hour straight. if know solution please help. dying on here.
mainactivity:
public class mainactivity extends appcompatactivity { recyclerview recyclerview; carddata data; list<carddata> list=new arraylist<>(); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); hawk.init(getapplicationcontext()).build(); data = new carddata("meal","1","12","http"); list.add(data); recyclerview=(recyclerview)findviewbyid(r.id.recycler_view); recyclerview.setitemanimator(new defaultitemanimator()); recyclerview.sethasfixedsize(true); recyclerview.layoutmanager layoutmanager=new linearlayoutmanager(this); recyclerview.setlayoutmanager(layoutmanager); final recyclerview.adapter adapter=new myadapter(getapplicationcontext(),list); recyclerview.setadapter(adapter); } }
adapter:
public class myadapter extends recyclerview.adapter<myadapter.myviewholder> { private list<carddata> data; private context context; public myadapter(context context,list<carddata> data){ this.data=data; this.context = context; } @override public myviewholder oncreateviewholder(viewgroup viewgroup, int i) { view v= layoutinflater.from(viewgroup.getcontext()).inflate(r.layout.card_contents,viewgroup,false); return new myviewholder(v); } @override public void onbindviewholder(final myviewholder myviewholder, final int i) { myviewholder.meal.settext(data.get(i).yemek); myviewholder.price.settext(data.get(i).qiymet); //glide.with(context).load(data.get(i).url).into(myviewholder.img); myviewholder.count.gettext(); myviewholder.card.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { myviewholder.checkbox.setchecked(!myviewholder.checkbox.ischecked()); data.get(i).checked = myviewholder.checkbox.ischecked(); } }); myviewholder.add.setfocusable(true); myviewholder.remove.setfocusable(true); myviewholder.add.setonclicklistener(new view.onclicklistener(){ @override public void onclick(view v) { string counts = myviewholder.count.gettext().tostring(); int counti = integer.valueof(counts); counti += 1; string countn = string.valueof(counti); myviewholder.count.settext(countn); } }); myviewholder.remove.setonclicklistener(new view.onclicklistener() { @override public void onclick(view view) { string says = myviewholder.count.gettext().tostring(); int sayi = integer.valueof(says); if (sayi>0){ sayi -= 1;} string sayn = string.valueof(sayi); myviewholder.count.settext(sayn); } }); } @override public int getitemcount() { return data.size(); } public static class myviewholder extends recyclerview.viewholder{ textview meal; textview price; textview count; cardview card; imageview img; checkbox checkbox; button add; button remove; myviewholder(view view){ super(view); this.meal = (textview) view.findviewbyid(r.id.meal); this.price = (textview) view.findviewbyid(r.id.cost); this.count = (textview) view.findviewbyid(r.id.count); this.add = (button) view.findviewbyid(r.id.addbutton); this.remove = (button) view.findviewbyid(r.id.removebutton); this.checkbox = (checkbox) view.findviewbyid(r.id.checkbox); this.img = (imageview) view.findviewbyid(r.id.img); this.card = (cardview) view.findviewbyid(r.id.card_view); } } }
data:
public class carddata { public carddata() { } public string meal; public string portion; public string cost; public string url; public boolean checked; public carddata(string meal, string portion, string cost, string url) { meal = meal; portion = portion; cost = cost; this.url = url; } public boolean ischecked() { return checked; } public void setchecked(boolean checked) { this.checked = checked; } public string getmeal() { return meal; } public void setmeal(string meal) { meal = meal; } public string getportion() { return portion; } public void setportion(string portion) { portion = portion; } public string getcost() { return cost; } public void setcost(string cost) { cost = cost; } public string geturl() { return url; } public void seturl(string url) { this.url = url; } }
Comments
Post a Comment