与数据库集成时achartengine的问题

时间:2011-07-06 09:07:02

标签: android 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;但问题是它没有绘制更新的图表。只有当我切换屏幕方向时,更新才会反映到图表中。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:2)

当我删除了视图,设置mChartView = null;,定义了mChartView并设置了视图时,我才能使其工作。

layout.removeView(mChartView);
mChartView = null;
mChartView = ChartFactory //rest of mChartView code
layout.addView(mChartView);