android - how to change recyclerview item's layout from outside? -
i have recyclerview, has button , edittext. have button outside of recyclerview. on click outside button, want button in recyclerview toggles between hide , show. how that?
i have tried send boolean parameter meditflag recycleradapter, toogle meditflag, , notify adapter data has changed. doesn't work.
mcurrentorderrecycleradapter = new currentorderrecycleradapter(this, meditflag); rvorder.setadapter(mcurrentorderrecycleradapter); rleditorderlist.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { meditflag = !meditflag; mcurrentorderrecycleradapter.notifydatasetchanged(); if (meditflag) { iveditorderlist.setimageresource(r.drawable.order_edit_true); tveditorderlist.settext(r.string.order_edit_flag_true); } else { iveditorderlist.setimageresource(r.drawable.order_edit_false); tveditorderlist.settext(r.string.order_edit_flag_false); } } }); @override public void onbindviewholder(orderrecyclerviewholder holder, final int position) { if(editflag) { holder.rlleftitemrvorder.setvisibility(view.visible); } else { holder.rlleftitemrvorder.setvisibility(view.gone); } holder.tvnumitemrvorder.settext(position + "x"); holder.tvdesitemrvorder.settext("holder.ivfooditemrvorder.setimageresource(r.drawable.drawer_menu)"); holder.ivfooditemrvorder.setimageresource(r.drawable.drawer_menu); }
you have achieve adapter layer.
the button outside recyclerview has update item inside adapter (for example boolean).
notify change update (for example notifyitemchanged method) recyclerview
somenthing like:
rleditorderlist.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { //update item inside adapter myobject obj = madapter.getitem(position); obj.myboolean= true; madapter.notifyitemchanged(position); } }); with adapter like:
public class myadapter extends recyclerview.adapter<recyclerview.viewholder> { private arraylist<myobject> mdataset; @override public void onbindviewholder(viewholder holder, int position) { //get item in adapter myobject obj = getitem(position); if(obj.myboolean) holder.mbuttonview.setvisibile(view.visible); else holder.mbuttonview.setvisibile(view.gone); } }
Comments
Post a Comment