我正在使用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;但问题是它没有绘制更新的图表。只有当我切换屏幕方向时,更新才会反映到图表中。我的代码出了什么问题?
答案 0 :(得分:2)
当我删除了视图,设置mChartView = null;
,定义了mChartView
并设置了视图时,我才能使其工作。
即
layout.removeView(mChartView);
mChartView = null;
mChartView = ChartFactory //rest of mChartView code
layout.addView(mChartView);