user3313188
user3313188

Reputation: 21

Refresh graph pie

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

Answers (1)

keshav
keshav

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

Related Questions