android - Open SlideUpPanel OnClickListener from a drawer NULL Pointer -


i beginner developing geolocation app using google map v2, navigation drawer , slideuppanel androidslidinguppanel library in mapsactivity have public class "myadapter" using custom row. when want use sliding layout (mlayout) adapter class open slide panel onclicklistener, android studio cannot resolve symbol 'layout'.

how can call layout adapter ? sorry bad english

class myadpater extends baseadapter { private context context ; string [] telecentreaurillac; int[] images = {r.drawable.ic_pointeur,r.drawable.ic_pointeur,r.drawable.ic_pointeur,r.drawable.ic_pointeur,r.drawable.ic_pointeur,         r.drawable.ic_pointeur,r.drawable.ic_pointeur,r.drawable.ic_pointeur,r.drawable.ic_pointeur,r.drawable.ic_pointeur};   public myadpater (context context) {      this.context=context;      telecentreaurillac = context.getresources().getstringarray(r.array.telecentreaurillac); }  @override public int getcount() {     return telecentreaurillac.length; }  @override public object getitem(int position) {     return telecentreaurillac[position]; }  @override public long getitemid(int position) {     return position; }  @override public view getview(int position, view convertview, viewgroup parent) {      view row = null;      if(convertview == null)     {         layoutinflater inflater =(layoutinflater) context.getsystemservice(context.layout_inflater_service);         row = inflater.inflate(r.layout.custom_row, parent, false);     }     else     {         row = convertview;     }     // relier avec custom row     textview titletextview =(textview) row.findviewbyid(r.id.telecentretexviewdrawer);     imageview titleimageview = (imageview) row.findviewbyid(r.id.imagedrawer);     //affichage pour chaque position     titletextview.settext(telecentreaurillac[position]);     titleimageview.setimageresource(images[position]);       //layoutinflater inflater = (layoutinflater) getcontext().getsystemservice(context.layout_inflater_service);     //view drawer = inflater.inflate(r.layout.activity_maps, null);       row.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             log.i("mapsactivity", "clickontv");                // drawerlayout.closedrawers();              mlayout.setanchorpoint(1.0f);             // mlayout.setpanelstate(slidinguppanellayout.panelstate.hidden);             mlayout.setpanelstate(slidinguppanellayout.panelstate.anchored);           }     });      return row;  } 

}

in main activity

    mlayout = (slidinguppanellayout) findviewbyid(r.id.sliding_layout);     //log.i("test test", mlayout.tostring());     mlayout.setpanelslidelistener(new slidinguppanellayout.panelslidelistener() {         @override         public void onpanelslide(view panel, float slideoffset) {             log.i(tag, "onpanelslide, offset " + slideoffset);         }          @override         public void onpanelexpanded(view panel) {             log.i(tag, "onpanelexpanded");          }          @override         public void onpanelcollapsed(view panel) {             log.i(tag, "onpanelcollapsed");          }          @override         public void onpanelanchored(view panel) {             log.i(tag, "onpanelanchored");         }          @override         public void onpanelhidden(view panel) {             log.i(tag, "onpanelhidden");         }     }); 

the easy way making static , accessing like:

 activity.mlayout.. 

but correct way sending object reference via constructor argument like:

public myadpater (context context, slidinguppanel mlayout) {  this.mlayout = mlayout; this.context=context;  telecentreaurillac = context.getresources().getstringarray(r.array.telecentreaurillac); 

}

and better way handle clicks listview items in activity itself:

listview.setonitemclicklistener(new onitemclicklistener() {   @override   public void onitemclick(adapterview<?> parent, view view,     int position, long id) {       mlayout.setanchorpoint(1.0f);          // mlayout.setpanelstate(slidinguppanellayout.panelstate.hidden);          mlayout.setpanelstate(slidinguppanellayout.panelstate.anchored);    } });  

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -