2011-07-06 4 views
1

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; 그러나 문제는 업데이트 된 차트를 그리지 않는다는 것입니다. 업데이트는 화면 방향을 전환 할 때만 차트에 반영됩니다. 내 코드에 무슨 문제가 있습니까

답변

2

mChartView = null;을 설정하고보기를 삭제했을 때만이 작업을 수행 할 수 있었으며보기를 설정했습니다.

layout.removeView(mChartView); 
mChartView = null; 
mChartView = ChartFactory //rest of mChartView code 
layout.addView(mChartView); 
관련 문제