У меня проблема с автоматическим прокручиванием этого графика. Когда я прокручиваю вручную, он сначала удаляет его значение. введите описание изображения здесь
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();
}
}
теперь, что должноя делаю, чтобы решить эту проблему.