我正在使用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;但是问题在于它没有绘制更新的图表。仅当我切换屏幕方向时,更新才会反映在图表中。我的代码有什么问题?

最佳答案

我只有在删除视图,设置mChartView = null;,定义mChartView和设置视图时,才能使它起作用。



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

关于android - 与数据库集成时achartengine的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6593957/

10-10 09:18