Линейный график не прокручивается автоматически в Android - PullRequest
0 голосов
/ 14 ноября 2018

У меня проблема с автоматическим прокручиванием этого графика. Когда я прокручиваю вручную, он сначала удаляет его значение. введите описание изображения здесь

public class RealTimeData extends AppCompatActivity {
    FirebaseDatabase firebaseDatabase;
    DatabaseReference databaseReference;
    private LineGraphSeries < DataPoint > series;
    private double x = 1;
    private int lastX = 0;
    private static final Random RANDOM = new Random();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        firebaseDatabase = FirebaseDatabase.getInstance();
        databaseReference = firebaseDatabase.getReferenceFromUrl("https://ecgmonitor-f0064.firebaseio.com/");
        setContentView(R.layout.activity_real_time_data);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        GraphView graph = (GraphView) findViewById(R.id.graph);
        series = new LineGraphSeries < DataPoint > ();
        graph.addSeries(series);
        Viewport viewport = graph.getViewport();
        viewport.setYAxisBoundsManual(true);
        viewport.setMinY(0);
        viewport.setMaxY(10);
        viewport.setScrollable(true);
        viewport.scrollToEnd();
    }
    @Override
    protected void onResume() {
        super.onResume();
        new Thread(new Runnable() {
            @Override
            public void run() {
                // we add 100 new entries
                for (int i = 0; i < 100; i++) {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            addEntry();
                        }
                    });
                    // sleep to slow down the add of entries
                    try {
                        Thread.sleep(600);
                    } catch (InterruptedException e) {
                        // manage error ...
                    }
                }
            }
        }).start();
    }

    // add random data to graph
    private void addEntry() {
        series.appendData(new DataPoint(lastX++, RANDOM.nextDouble() * 10 d), true, 10);
    }

    public void onBackPressed() {
        startActivity(new Intent(RealTimeData.this, MainActivity.class));
        finish();
    }
 }

теперь, что должноя делаю, чтобы решить эту проблему.

...