3

こんにちは、私は achartengine の円グラフを使用して実際の売上を表しています。今、私のアプリが起動すると、円グラフで onclick を実行したときのように、円グラフのグラフ要素の 1 つが強調表示されます。

以下は私の円グラフのコードです

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つの商品を強調表示したいです。

4

1 に答える 1

1

解決策を見つけました:

 mChartView2=ChartFactory.getPieChartView(context, categorySeries,renderer);
      parent.addView(mChartView2);
      renderer.getSeriesRendererAt(0).setHighlighted(true);
      mChartView2.repaint();
于 2013-09-27T09:47:29.100 に答える