Reputation: 21
I modified the sample code because I need to get a pie chart that is updated continuously. I managed to do some work but I can not figure out how to refresh the graph. This is my code:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
ButtonInit();
mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.argb(100, 50, 50, 50));
mRenderer.setChartTitleTextSize(20);
mRenderer.setLabelsTextSize(15);
mRenderer.setLegendTextSize(15);
mRenderer.setMargins(new int[] { 20, 30, 15, 0 });
mRenderer.setZoomButtonsVisible(true);
mRenderer.setStartAngle(90);
for (int i = 0; i < VALUES.length; i++) {
mSeries.add(NAME_LIST[i] + " " + VALUES[i], VALUES[i]);
SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();
renderer.setColor(COLORS[(mSeries.getItemCount() - 1) % COLORS.length]);
mRenderer.addSeriesRenderer(renderer);
}
if (mChartView != null) {
mChartView.repaint();
}
}
@Override
protected void onResume() {
super.onResume();
LinearLayout layout = (LinearLayout) findViewById(R.id.Graph);
mChartView = (GraphicalView) ChartFactory.getPieChartView(this, mSeries, mRenderer);
mRenderer.setClickEnabled(true);
mRenderer.setSelectableBuffer(10);
layout.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
mChartView.repaint();
}
variables a, b, c, d are constantly changing because I get them via bluetooth.
Upvotes: 0
Views: 261
Reputation: 3255
Try doing this way
private GraphicalView mChart;
LinearLayout chart_container = (LinearLayout) findViewById(R.id.graphHolder);
.........
.......
mChart = (GraphicalView) ChartFactory.getPieChartView(this, dataset,
mRenderer);
chart_container.addView(mChart);
Now you can use
mChart.repaint();
Upvotes: 1