Представление графика - ось X не обновлена ​​- Android студия - PullRequest
0 голосов
/ 06 сентября 2018

Я использую график, чтобы отслеживать и отображать некоторые числа в режиме реального времени.Проблема заключается в том, что через 80 секунд ось x не обновляется, и изменение размера выполняется через 40 секунд с [0-80] до [0-200].Есть ли способ изменить Xaxis каждый раз, когда будет отслеживаться новый номер через 80 секунд?это мой код:

private Handler mHandler = new Handler();
private LineGraphSeries<DataPoint> series;
private double LastXPoint=2; 

@SuppressLint("ClickableViewAccessibility")
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        GraphView graph= (GraphView) findViewById(R.id.graph);
        series = new LineGraphSeries<>(new DataPoint[] {

        });
    graph.addSeries(series);
    graph.getViewport().setMaxX(400);

    DatiRealTime();
}


private final void DatiRealTime() {
    mHandler.postDelayed(new Runnable() {
        @Override
        public void run() {
            LastXPoint++;
            series.appendData(new DataPoint(LastXPoint,plotRRG), false, 300);
            DatiRealTime();

        }
    }, 500);

}

enter image description here

Как я мог достичь этого?спасибо в andvance

1 Ответ

0 голосов
/ 08 сентября 2018

У меня такое чувство, что ваша проблема из-за вызова DatiRealTime внутри метода run. Измените метод и используйте вместо этого обработчик:

private void DatiRealTime() {
    mHandler.post(new Runnable() {
        @Override
        public void run() {
            LastXPoint++;
            series.appendData(new DataPoint(LastXPoint, plotRRG), false, 300);
            mHandler.postDelayed(this, 500);
        }
    });
}

Надеюсь, это помогло тебе.

...