java - Pass Json Object from ViewHolder to Fragment -


i have recyclerview , fragment. want pass jsonobject recyclerview fragment. so, created interface , implemented on fragment , on recyclerview. initialized variable , access method in fragment passing jsonobject it, getting npe when trying access method:

public class productresultslistfragment extends  fragment implements productresultadapterinterface{ //code here  @override public void showresultsinmap(jsonobject mapobject)  {     openmapfragment(mapobject); } 

in rv class have following:

public class productsearchadapter extends recyclerview.adapter<productsearchadapter.viewholder>  {  public productresultadapterinterface mproductresultslistener;   .....  if (mapobjects.length()>0) {                                             mproductresultslistener.showresultsinmap(mapobjects); } 

the if statement inside viewholder in recyclerview class instance made public.

i have tried casting mproductresultslistener dont know class cast into.

public productresultadapterinterface mproductresultslistener=((productresultadapterinterface ) ?????); 

just quick comment: mapobject (jsonobject) created on onclick method inside button in viewholder, cannot pass bundle on oncreate method.

 this.btnmarkitemmap.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                  int position  =   getadapterposition();                  switch (v.getid())                 {                     case (r.id.markproductinmap):                          string mapobj=null;                         if (mapobjects !=null)                         {                             string positiondescription=string.valueof(position);                             string productlatlngvalue=txtproductprice.gettext().tostring()+";"+ txtitemlanlong.gettext().tostring();                              //tring mapposition=                              mapobj=mapobjects.optstring(string.valueof(position));                              if (mapobj!="") //button not click remove map                             {                                 btnmarkitemmap.setcolorfilter(color.rgb(0, 0, 0));                                 btnmarkitemmap.settag(color.rgb(0, 0, 0));                                 mapobjects.remove(positiondescription);                             }                             else //button click add map                             //                             {                                 btnmarkitemmap.setcolorfilter(color.rgb(255, 51, 102));                                 btnmarkitemmap.settag(position);                                 try {mapobjects.put(positiondescription, productlatlngvalue);}catch (jsonexception ex){}                                 if (mapobjects.length()>0)                                 {                                     mproductresultslistener.showresultsinmap(mapobjects);                                 }                             }                          }else{                             mapobjects=new jsonobject();                         }                          break;                 }             }         }); 

where have assigned variable mproductresultslistener? need assign object of fragment passing adapter. otherwise value null , nullpointeexception if call function on null object.

if have, please update question code.


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -