2013-09-27 5 views
3

Привет, я использую круговую диаграмму achartengine, чтобы представить мои фактические продажи, теперь, когда мое приложение начинает один из элементов диаграммы в piechart, должно быть выделено, например, когда мы делаем onclick on pie диаграмма.Android achartEngine, как выделить конкретный элемент диаграммы

Ниже приведен код для моего PieChart

final DefaultRenderer renderer = buildCategoryRenderer(colors); 
     renderer.setPanEnabled(false);// Disable User Interaction 
     renderer.setLabelsColor(Color.BLACK); 
     renderer.setShowLegend(true); 
     renderer.setLegendTextSize(20); 
     renderer.setInScroll(true); 
     renderer.setStartAngle(180); 

    renderer.setChartTitle("Sales By Market Segment- Month"); 
     renderer.setLabelsTextSize(22); 
     final CategorySeries categorySeries = new CategorySeries("Sales"); 
     categorySeries.add("Craft1", cursor.getInt(1)); 
      categorySeries.add("product1", cursor.getInt(2)); 
       categorySeries.add("product2", cursor.getInt(3)); 
       categorySeries.add("product", cursor.getInt(4)); 
       categorySeries.add("product1", cursor.getInt(5)); 

     mChartView2=ChartFactory.getPieChartView(context, categorySeries,renderer); 
     parent.addView(mChartView2); 
     renderer.setClickEnabled(true); 
     mChartView2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       SeriesSelection seriesSelection = mChartView2.getCurrentSeriesAndPoint(); 
       if (seriesSelection == null) { 
       Toast.makeText(getActivity(), "No chart element selected", Toast.LENGTH_SHORT) 
        .show(); 
       }else { 
        for (int i = 0; i < categorySeries.getItemCount(); i++) { 
         renderer.getSeriesRendererAt(i).setHighlighted(i == seriesSelection.getPointIndex()); 
        } 
        mChartView2.repaint(); 
        Toast.makeText(
         getActivity(), 
         "Chart data point index " + seriesSelection.getPointIndex() + " selected" 
          + " point value=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show(); 
        } 
       } 
       }); 
     return ChartFactory.getPieChartIntent(context, categorySeries, renderer,null); 
    } 
    protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
     DefaultRenderer renderer = new DefaultRenderer(); 
     for (int color : colors) { 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(color); 
     renderer.addSeriesRenderer(r); 

     } 
     return renderer; 
     } 

продукты становятся подсвечиваются при нажатии, но я хочу, чтобы выделить один продукт, при запуске приложения.

ответ

1

Найдено решение:

mChartView2=ChartFactory.getPieChartView(context, categorySeries,renderer); 
     parent.addView(mChartView2); 
     renderer.getSeriesRendererAt(0).setHighlighted(true); 
     mChartView2.repaint(); 
Смежные вопросы