Как обновить граф из другого класса? - PullRequest
0 голосов
/ 09 ноября 2011

Привет, я пытаюсь нарисовать один линейный график и для этого я использую этот код.

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);
   }
}

Но проблематам, я могу видеть только одну линию на графике (вторая строка), и мне нужны обе линии, я имею в виду все линии на графике одновременно.любое решение, пожалуйста.Благодарю.

1 Ответ

0 голосов
/ 09 ноября 2011

Вы вызвали setData дважды, поэтому второй вызов перезапишет первые установленные вами значения.

Если вы пытаетесь рисовать графики, вы можете использовать такую ​​библиотеку, как AndroidPlot, чтобы сделать тяжелую работу за вас. (http://androidplot.com/wiki/Home) Есть и другие библиотеки, но я лично использовал AndroidPlot, и он работал хорошо для меня - мне также пришлось нарисовать 2 линии на графике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...