2011-11-09 5 views
0

こんにちは私は1つの折れ線グラフを描画しようとしており、そのためにこのコードを使用しています。他のクラスからグラフを更新するには?

DrawGraph dg = new DrawGraph(this); 
    pane.addView(dg); 
    dg.setData(10, 10, 100, 100); //cords. for Firs Line 
    pane.invalidate(); 
    dg.setData(100, 100, 100, 300); //cords. for second Line 
    pane.invalidate(); 

これは私のDrawGraphクラスです。問題がある

import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.Paint; 
import android.view.View; 

public class DrawGraph extends View{ 
Paint p; 
int x1; 
int y1; 
int x2; 
int y2; 
Canvas fc; 
int i = 0; 

public DrawGraph(Context context) { 
    super(context); 
    p = new Paint(); 
    fc = new Canvas(); 
} 

public void setData(int x1, int y1, int x2, int y2) 
{ 
    this.x1 = x1; 
    this.y1 = y1; 
    this.x2 = x2; 
    this.y2 = y2; 
} 

public void onDraw(Canvas c){ 
      c.drawLine(x1, y1, x2, y2, p); 
    } 
} 

しかし、私は一度、グラフ内のすべての行を意味し、私はグラフ(第2ライン)に一つだけの行を見ることができると私は両方の線 を必要としています。 解決方法を教えてください。ありがとう。

答えて

0

setDataを2回呼び出したので、2番目の呼び出しで設定した最初の値が上書きされます。

グラフを描画しようとしている場合は、AndroidPlotなどのライブラリを使用して重労働を起こすことができます。 (http://androidplot.com/wiki/Home)他のライブラリがありますが、私は個人的にAndroidPlotを使っていましたが、それは私のためにうまくいきました - 私はグラフ上に2行も描画しなければなりませんでした。

関連する問題