проблема с achartengine при интеграции с базой данных

Я использую achartengine для рисования диаграммы, которая будет обновляться при вставке нового значения в базу данных.

chart()
{
 if (mChartView == null) 
 {          
  d = new BuildMultipleDataset();           
  db.open();

  //code for some database query            
  LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
  mChartView = ChartFactory.getLineChartView(this, d.datasetbuilder(cursor1,cursor2), d.render());
  layout.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT, chartHeight));      

  db.close();       
 }
 else 
 {
  mChartView.repaint();
 }
}

Я вызываю этот метод, когда обновление запускается из базы данных. и в это время я делаю mChartView = null; Но проблема в том, что он не рисует обновленную диаграмму. обновление отображается в диаграмме только тогда, когда я переключаю ориентацию экрана. что не так с моим кодом?


person Farhana Haque    schedule 06.07.2011    source источник


Ответы (1)


Я смог заставить это работать только тогда, когда удалил представление, установил mChartView = null;, определил mChartView и установил представление.

i.e.

layout.removeView(mChartView);
mChartView = null;
mChartView = ChartFactory //rest of mChartView code
layout.addView(mChartView);
person user877418    schedule 15.08.2011