У меня есть диаграмма с декартовой колонкой, и мне нужно обновить sh чат с новыми данными из веб-службы, он работает нормально с первого раза, но после получения новых данных диаграмма «объединяет» старые и новые данные для секунду, затем мигает назад и показывает старые данные
Здесь я очищаю свой DataEntry и вызываю мой soap, это делается внутри функции, которая вызывается с кнопки
dataGraf=new ArrayList<>();
new acIndicadores.call_SOAP().execute();
Soap запросить информацию и добавить ее в мой DataEntry (единственная важная часть здесь - последняя строка), я установил логи, поэтому я знаю, что мой DataEntry получает данные, которые мне нужны.
for(int y=0; y<NewDataSet.getPropertyCount(); y++)
{
gfVentas = (SoapObject) NewDataSet.getProperty(y);
if (gfVentas.getPropertyCount()==3)
{
if(Integer.parseInt(gfVentas.getProperty("hora").toString())==i)
{
vent=vent+Double.parseDouble(gfVentas.getProperty("Venta").toString());
}
}
else
{
if(Integer.parseInt(gfVentas.getProperty("hora").toString())==i)
{
cob=cob+Double.parseDouble(gfVentas.getProperty("Venta").toString());
}
}
dataGraf.add(new CustomDataEntry(Integer.toString(i), vent,cob));
}
Наконец, я вызываю эту функцию изнутри onPostExecute, так что я знаю, что SOAP -функция завершена, и мои данные находятся в DataEntry
public void setgraph()
{
Set set = Set.instantiate();
set.data(dataGraf);
Mapping series1Data = set.mapAs("{ x: 'x', value: 'value' }");
Mapping series2Data = set.mapAs("{ x: 'x', value: 'value2' }");
cartesian.column(series1Data);
cartesian.column(series2Data);
anyChartView.setChart(cartesian);
}