P
Patpa
Neues Mitglied
Hallo Leute,
hab in meiner App ein scatter Graph. Dieses wird über einen Menüpunkt aufgerufen. Die Daten und Einstellungen werden wieder rum in einem anderen Menüpunkt ausgewählt. Wenn ich jetzt alles einstelle und mein Diagramm aufrufe wird es wie gewünscht mit allen Einstellungen und mit den richtigen Daten angezeigt. Wenn ich aber jetzt die Einstellungen/Daten ändere und erneut das Diagramm aufrufe ändert sich gar nicht. Hab das aus dem Demoprojekt so verstanden dass ich eine abfrage starten muss.
Hab mal breakpoints gesetzt und er springt wie gewünscht bei ersten mal in die if Anweisung und ab da an immer in die else Anweisung. Hab auch schon geschaut wenn ich die Einstellungen/Daten ändere werden diese in der Methode auch übernommen und funktioniert irgendwie die repaint Funktion nicht, da sich das Diagramm nicht ändert ...
Hier mal die ganze Methode ein wenig vereinfacht:
Später soll der Graph aktualisiert werden sobald die Einstellungen geändert werden aber erstmal muss ich verstehen wie diese repaint Funktion funktioniert ... jemand eine Idee was ich hier falsch mache?
hab in meiner App ein scatter Graph. Dieses wird über einen Menüpunkt aufgerufen. Die Daten und Einstellungen werden wieder rum in einem anderen Menüpunkt ausgewählt. Wenn ich jetzt alles einstelle und mein Diagramm aufrufe wird es wie gewünscht mit allen Einstellungen und mit den richtigen Daten angezeigt. Wenn ich aber jetzt die Einstellungen/Daten ändere und erneut das Diagramm aufrufe ändert sich gar nicht. Hab das aus dem Demoprojekt so verstanden dass ich eine abfrage starten muss.
Code:
if(mChartView == null)
{
mChartView = ChartFactory.getScatterChartView(this, dataset, mRenderer);
Graphlayout.addView(mChartView);
}
else
{
mChartView = ChartFactory.getScatterChartView(this, dataset, mRenderer);
mChartView.repaint();
}
Hier mal die ganze Methode ein wenig vereinfacht:
Code:
public void scatterGraphHandler (View view)
{
// Data 1
XYSeries series1 = new XYSeries(File);
for (int k = 0; k < X.length; k++)
{
series1.add(X[k], Y[k]);
}
// Data 1
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
dataset.addSeries(series1);
XYSeriesRenderer renderer = new XYSeriesRenderer();
// Customization for data 1
switch(Color)
{
case(0):
renderer.setColor(Color.YELLOW);
break;
case(1):
renderer.setColor(Color.RED);
break;
case(2):
renderer.setColor(Color.BLACK);
break;
case(3):
renderer.setColor(Color.CYAN);
break;
case(4):
renderer.setColor(Color.DKGRAY);
break;
case(5):
renderer.setColor(Color.LTGRAY);
break;
case(6):
renderer.setColor(Color.GRAY);
break;
case(7):
renderer.setColor(Color.GREEN);
break;
case(8):
renderer.setColor(Color.MAGENTA);
break;
case(9):
renderer.setColor(Color.WHITE);
break;
}
switch(Forms)
{
case(0):
renderer.setPointStyle(PointStyle.DIAMOND);
break;
case(1):
renderer.setPointStyle(PointStyle.SQUARE);
break;
case(2):
renderer.setPointStyle(PointStyle.CIRCLE);
break;
case(3):
renderer.setPointStyle(PointStyle.POINT);
break;
case(4):
renderer.setPointStyle(PointStyle.TRIANGLE);
break;
case(5):
renderer.setPointStyle(PointStyle.X);
break;
}
renderer.setLineWidth(10);
if(showPoint == true)
{
renderer.setFillPoints(true);
}
mRenderer.addSeriesRenderer(renderer);
if(showGrid == true)
{
mRenderer.setShowGrid(true);
}
mRenderer.setYLabels(10);
mRenderer.setXLabels(10);
mRenderer.setScale(10);
if(showZoom == true)
{
mRenderer.setZoomButtonsVisible(true);
}
if(mChartView == null)
{
mChartView = ChartFactory.getScatterChartView(this, dataset, mRenderer);
Graphlayout.addView(mChartView);
}
else
{
mChartView = ChartFactory.getScatterChartView(this, dataset, mRenderer);
mChartView.repaint();
}
}