android - Achartengine horizontal bar onclick issue -


i m implemeting horizontal barchart using achartengine, show in chart area when click on bar not give me value of selected bar.the seriesselction null.please find code below , suggest me m doing wrong.

private string[] mmonth = new string[] { "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" }; int[] x = { 0, 1, 2, 3, 4, 5, 6, 7 }; int[] income = { 100, 200, 370, 450, 500, 600, 700, 800 }; public static final string type = "type"; private xymultipleseriesdataset mdataset = getdemodataset(); private xymultipleseriesrenderer mrenderer = getdemorenderer(); private graphicalview mchartview;  @override protected void oncreate(bundle savedinstancestate) {     // todo auto-generated method stub     super.oncreate(savedinstancestate);     setcontentview(r.layout.xy_chart);      if (mchartview == null) {             linearlayout layout = (linearlayout) findviewbyid(r.id.chart);             mchartview = chartfactory.getbarchartview(this, mdataset,                     mrenderer, type.default);             mrenderer.setselectablebuffer(100);             layout.addview(mchartview, new layoutparams(                     layoutparams.match_parent, layoutparams.match_parent));         } else {             mchartview.repaint();         }          mchartview.setonclicklistener(new view.onclicklistener() {              @override             public void onclick(view v) {                 // todo auto-generated method stub                 // handle click event on chart                    seriesselection seriesselection = mchartview.getcurrentseriesandpoint();                   if (seriesselection == null) {                     toast.maketext(newtesthorizontal.this, "no chart element", toast.length_short).show();                   } else {                     // display information of clicked point                     toast.maketext(                             newtesthorizontal.this,                         "chart element in series index " + seriesselection.getseriesindex()                             + " data point index " + seriesselection.getpointindex() + " clicked"                             + " closest point value x=" + seriesselection.getxvalue() + ", y="                             + seriesselection.getvalue(), toast.length_short).show();                   }              }         });  }  private xymultipleseriesrenderer getdemorenderer() {     // todo auto-generated method stub       xyseriesrenderer incomerenderer = new xyseriesrenderer();       incomerenderer.setcolor(color.rgb(130, 130, 230));         incomerenderer.setfillpoints(true);         incomerenderer.setlinewidth(2);         incomerenderer.setchartvaluesspacing(15);         incomerenderer.setdisplaychartvalues(true);         incomerenderer.setchartvaluestextalign(align.center);          xymultipleseriesrenderer multirenderer = new xymultipleseriesrenderer();         multirenderer.setorientation(orientation.vertical);         multirenderer.setxlabels(1);         multirenderer.setylabels(0);         multirenderer.setbarspacing(0.9f);         multirenderer.setbarwidth(30);         multirenderer.setcharttitle("income chart");         multirenderer.setxtitle("year 2013");         multirenderer.setytitle("amount in dollars");         multirenderer.setzoombuttonsvisible(true);         multirenderer.setinscroll(true);         multirenderer.setshowgridy(true);         //multirenderer.setxlabelspadding(10);         multirenderer.setylabelspadding(10);         multirenderer.setinscroll(true);         multirenderer.setxaxismin(-0.5);         multirenderer.setxaxismax(7);         multirenderer.setyaxismin(10);          multirenderer.setcharttitletextsize(15);         multirenderer.setlabelstextsize(10);         multirenderer.setlegendtextsize(15);         multirenderer.setaxistitletextsize(15);         multirenderer.setmargins(new int[] {10, 20, 20, 10});          multirenderer.setyaxismax(3000);         multirenderer.setclickenabled(true);         multirenderer.setshowgridx(true);         multirenderer.setshowgridy(true);           (int = 0; < x.length; i++) {             multirenderer.addxtextlabel(i, mmonth[i]);         }          multirenderer.addseriesrenderer(incomerenderer);         return multirenderer; }  private xymultipleseriesdataset getdemodataset() {      xyseries incomeseries = new xyseries("income");         (int = 0; < x.length; i++) {             incomeseries.add(i, income[i]);         }          xymultipleseriesdataset dataset = new xymultipleseriesdataset();         dataset.addseries(incomeseries);         return dataset; } 

}


Comments

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -