【发布时间】:2016-01-29 10:26:56
【问题描述】:
我的组合图表有点问题。 3 年前,我用 Eclipse 做了同样的事情并使用了一个 jar 库。我使用依赖项将我的代码复制到了 android Studio,但现在它不起作用。我无法让它工作。
我会发布我的整个代码,然后我会标记问题。
public void createChart()
{
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
final Bundle extras = this.getIntent().getExtras();
couchdurations = extras.getLongArray("couchtimes");
perstdurations = extras.getLongArray("persttimes");
//ToDo Sqlite noch ergänzen
XYSeries couchseries = new XYSeries("CouchBase");
XYSeriesRenderer couchRenderer = new XYSeriesRenderer();
XYSeries perstseries = new XYSeries("PerstDB");
XYSeriesRenderer perstRenderer = new XYSeriesRenderer();
couchRenderer.setColor(Color.RED);
couchRenderer.setPointStyle(PointStyle.X);
couchRenderer.setFillPoints(false);
couchRenderer.setLineWidth(2);
couchRenderer.setDisplayChartValues(false);
perstRenderer.setColor(Color.BLUE);
perstRenderer.setPointStyle(PointStyle.X);
perstRenderer.setFillPoints(false);
perstRenderer.setLineWidth(2);
perstRenderer.setDisplayChartValues(false);
multiRenderer.addSeriesRenderer(couchRenderer);
multiRenderer.addSeriesRenderer(perstRenderer);
multiRenderer.setYAxisMin(0.0);
multiRenderer.setYAxisMax(10000000.0);
multiRenderer.setXAxisMax(60000.0);
multiRenderer.setLabelsTextSize(40);
multiRenderer.setLegendTextSize(40);
for(int i = 0; i < couchdurations.length; i++)
{
couchseries.add(couchdurations[i], datasizes[i]);
perstseries.add(perstdurations[i], datasizes[i]);
}
dataset.addSeries(couchseries);
dataset.addSeries(perstseries);
// Getting a reference to LinearLayout of the MainActivity Layout
LinearLayout chartContainer = (LinearLayout) findViewById(R.id.chart_container);
// Specifying chart types to be drawn in the graph
// Number of data series and number of types should be same
// Order of data series and chart type will be same
String[] types = new String[dataset.getSeriesCount()];
for(int i = 0; i < (dataset.getSeriesCount()); i++)
{
types[i] = LineChart.TYPE;
}
// Creating a combined chart with the chart types specified in types array
mChart = (GraphicalView) ChartFactory.getCombinedXYChartView(getBaseContext(), dataset, multiRenderer, types);
// Adding the Combined Chart to the LinearLayout
chartContainer.addView(mChart);
}
问题出在下面一行:
mChart = (GraphicalView) ChartFactory.getCombinedXYChartView(getBaseContext(), dataset, multiRenderer, types);
我总是得到第四个参数错误的错误。但我在 3 年前在另一个 android 应用程序中使用了相同的代码。 Error Screenshot 1 Error Screenshot 2 您可以在所附图片中看到错误消息。 第 4 个参数类型错误。找到'java.lang.String[]',需要:'org.achartengine.chart.CombinedXYChart.XYCombinedChartDef[]'
谁能帮我解决这个问题?不知道怎么解决。
【问题讨论】:
-
您遇到的错误是什么?
-
第四个参数类型错误。找到 'java.lang.String[]', required: 'org.achartengine.chart.CombinedXYChart.XYCombinedChartDef[]' 你可以在附加的截图中看到它
-
我没有看到任何屏幕截图。无论如何,API 已经改变,所以只要按照错误所说的去做,将 String[] 更改为 CombinedXYChart 定义。
-
i.stack.imgur.com/svhIt.png i.stack.imgur.com/otDSe.png 在这里你可以看到截图(标记在我的帖子中)
-
我明白了。从 String[] 改变 types = new String[dataset.getSeriesCount()]; for(int i = 0; i
标签: android android-studio achartengine