2012-02-16 16 views
0

Webサービスには1つのデータ接続があります。 Assynctaskでは、私は5秒ごとにデータを取得します。 データが到着した後、私は新しいデータセットを作成し、mChartViewを生きているだけで再描画します。そしてここに私の問題を教えてください。折れ線グラフは、グラフを再生成せずに最後のものの一番上を新たに作成し直します。そして、ここでAchartengine repaint

:(menmoryのうち2〜3分のコースの私のコード:

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

THX ... – Sherad