我尝试让图表在每次textView中的值改变时刷新。以下是onCreate的代码片段。
希望你能给点建议。
final ArrayList<Entry> entriesa= new ArrayList<>();
final LineChart lineChart = (LineChart) findViewById(R.id.chart);
final LineDataSet dataset = new LineDataSet(entriesa,"AWAY");
final LineData data = new LineData(dataset);
entriesa.add(new Entry(0,0));
lineChart.setData(data);
lineChart.invalidate();
final TextView viewa1 = (TextView) findViewById(R.id.sa1);
viewa1.addTextChangedListener(new TextWatcher() {
String s=viewa1.getText().toString();
int iv = Integer.parseInt(s.replaceAll("[\\D]", ""));
public void beforeTextChanged ( CharSequence s, int start, int count, int after ) {
}
public void afterTextChanged ( Editable s ) {
}
public void onTextChanged(CharSequence s, int start, int before, int count ) {
entriesa.set(0,new Entry(0,iv));
data.notifyDataChanged();
lineChart.notifyDataSetChanged();
lineChart.invalidate();}
});
1条答案
按热度按时间q9rjltbz1#
在onTextChanged内声明LineData并使用addEntry将新条目追加到LineData,而不是添加到数组列表。
现在,使用getData()在每个onTextChanged上声明数据,其中包含以前保存的数据,然后使用addEntry添加最新条目。这将创建一个连续的流...就像真实的数据一样。我还使用了ILineDataSet,因为我在同一个图表上有多个数据点。
10个数据点到视口,现在我有一个很好的自动滚动折线图在我的应用程序。