2012-02-16 3 views
0

webservice에서 하나의 데이터 연결이 있습니다. Assynctask에서는 5 초마다 데이터를 얻습니다. 데이터가 도착한 후 새로운 데이터 세트를 만들고 mChartView를 다시 그리기 만하면됩니다. 그리고 여기에 내 문제가있다. 선 차트가 다시 칠하지 않고 다시 차트를 다시 작성하면 마지막으로 가장 새로운 차트가 만들어집니다. menmory 중 그리고 물론 2-3분 :(Achartengine repaint

다음

내 코드 :

class GetData extends AsyncTask<Void, String, Void> { 

    private ArrayList<String> Alldata = new ArrayList<String>(); 
    public XYMultipleSeriesDataset datasetOut; 
    public XYMultipleSeriesRenderer mRendererOut; 

    @Override 
    protected Void doInBackground(Void... unused) { 

     Alldata.clear(); 
     Alldata = DataFromWeb.getChartDataNew("&name=XXX", "XXX"); 

     return (null); 
    } 

    @Override 
    protected void onPostExecute(Void unused) { 


     datasetOut = CCChart.getDataSet(getBaseContext(), Alldata); 
     mRendererOut = CCChart.getRendererPortrait(getBaseContext()); 


     Log.d("Debug", "alldatasize: " + Alldata.size()); 
     Log.d("Debug", "dataset " + datasetOut.getSeriesCount()); 

     if (mChartView != null) { 
      mChartView.repaint(); 

      Log.v("CC_trace", "CCChartRepaint"); 

     } else { 

      mChartView = ChartFactory.getLineChartView(getBaseContext(), datasetOut , mRendererOut); 

       layout.addView(mChartView, new LayoutParams(
         LayoutParams.WRAP_CONTENT, getHeight())); 

       Log.v("CC_trace", "CCChartGenerate"); 

     } 




    } 



} 

어쩌면 좋은 장소에 호출하지 메신저 다시 그리기() :

차트 이미지를 1

thx 도움말 ...

답변

7

광산에서는 절대로 페인트 칠을하지 않습니다. 난 그냥이 같은 예전

을 다시 : 마지막에

@Override 
    protected void onPostExecute(Void unused) { 

    datasetOut = CCChart.getDataSet(getBaseContext(), Alldata); 
    mRendererOut = CCChart.getRendererPortrait(getBaseContext()); 

    Log.d("Debug", "alldatasize: " + Alldata.size()); 
    Log.d("Debug", "dataset " + datasetOut.getSeriesCount()); 

    mChartView = ChartFactory.getLineChartView(getBaseContext(), datasetOut , mRendererOut); 

    layout.removeAllViews(); 
    layout.addView(mChartView, new LayoutParams(LayoutParams.WRAP_CONTENT, getHeight())); 
    Log.v("CC_trace", "CCChartGenerate"); 
} 
+0

들으 내가 이것과 작업을 ... – Sherad