1

I have created pie chart using aChartEngine. now i have to enable the click option in that pie chart(in each division).

how can i do that? am using the latest version of chart engine api.

Ravi
  • 34,851
  • 21
  • 122
  • 183
JK.C
  • 97
  • 2
  • 5
  • Check this answer in Stackoverflow: http://stackoverflow.com/questions/11120125/highlighting-pie-chart-slice-when-clicked-in-achartengine – alecnash Jan 22 '14 at 11:32

1 Answers1

4
        final CategorySeries series = new CategorySeries("pie");
        for (int i = 0; i < Xaxes_value.size(); i++) {
            series.add(Xaxes_value.get(i) + "",
                        Long.parseLong(yaxes_value.get(i))); 

        }



        List<Integer> colors = new ArrayList<Integer>();
        int[] colorr = { Color.parseColor("#56ADDB"),
                Color.parseColor("#F59331"), Color.parseColor("#73C83C"),
                Color.parseColor("#948D8B"), Color.parseColor("#E54273"),
                Color.parseColor("#FFD34E"), Color.parseColor("#2A86D6"),
                Color.parseColor("#00BFC0"), Color.parseColor("#95AC5F"),
                Color.parseColor("#FF8497") };

        for (int i = 0; i < yaxes_value.size(); i++) {
            colors.add(colorr[i]);

        }
        renderer = new DefaultRenderer();
        for (int color = 0; color < colors.size(); color++) {
            SimpleSeriesRenderer r = new SimpleSeriesRenderer();
            r.setColor(colors.get(color));
            r.setDisplayBoundingPoints(false);
            // r.setDisplayChartValuesDistance(20);
            r.setDisplayChartValues(false);
            r.setChartValuesTextSize(18);
            r.setStroke(BasicStroke.SOLID);
            renderer.addSeriesRenderer(r);
        }
        // renderer.isInScroll();

        renderer.setZoomEnabled(false);
        renderer.setPanEnabled(false);
        renderer.setZoomButtonsVisible(false); // set zoom button in Graph
        renderer.setApplyBackgroundColor(false);
        renderer.setBackgroundColor(Color.WHITE); // set background color
        renderer.setChartTitle("Pie Chart");
        renderer.setLabelsColor(Color.BLACK);
         renderer.setMargins(new int[] { 20, 100, 20, 15 });
        renderer.setLabelsTextSize(20);
        renderer.setChartTitleTextSize((float) 30);
        renderer.setShowLabels(false);
        renderer.setLegendTextSize(25);
        renderer.setDisplayValues(true);
        renderer.setStartAngle(90);
        GraphicalView mChart = ChartFactory.getPieChartView(getApplicationContext(), series,
                renderer);

        layout_graph.addView(mChart);
        mChart.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  SeriesSelection seriesSelection = mChart.getCurrentSeriesAndPoint();
                  if (seriesSelection == null) {
                    Toast
                        .makeText(getApplicationContext(), "No chart element was clicked",
                  Toast.LENGTH_SHORT)
                        .show();
                  } else {
                    Toast.makeText(
                        getApplicationContext(),
                        "Chart element data point index " + seriesSelection.getPointIndex()
                            + " was clicked" + " point value=" + seriesSelection.getValue(),
                        Toast.LENGTH_SHORT).show();
    Intent dashboardIntent = new Intent(context, Dashboard.class);
dashboardIntent.putExtra("value", ""+seriesSelection.getValue());
                    startActivity(dashboardIntent);
                  }
                }
              });
Dakshesh Khatri
  • 639
  • 7
  • 12
  • but how can i transfer to next page if i click on this pie chart? how do i mention intent on this page. am using this code in fragment not an activity – JK.C Jan 22 '14 at 13:25
  • @JKrish you dont know startActivity(callIntent) navigation ? – keshav Jan 22 '14 at 14:04
  • @JKrish use replace()/add() for fragment see this http://www.vogella.com/tutorials/AndroidFragments/article.html – keshav Jan 22 '14 at 14:11