无法解析构造函数 'BarEntry(java.lang.String, java.lang.Float)
Cannot resolve constructor 'BarEntry(java.lang.String, java.lang.Float)
我想根据下面的 json 数据创建图表
[{"month":"August 2020","total":"4587175.08"},{"month":"July 2020","total":"9151128.27"},{"month":"June 2020","total":"10859553.16"},{"month":"May 2020","total":"2600435.33"}]
数据是从数据库到我的图表,但我得到上面的错误
我插入的代码如下
public void onResponse(@NotNull Call<List<MonthlySales>> call, @NotNull Response<List<MonthlySales>> response) {
//check if the response body is null
if(response.body()!=null){
List<BarEntry> barEntries = new ArrayList<>();
for (MonthlySales monthlySales : response.body()) {
barEntries.add(new BarEntry(monthlySales.getMonth(),monthlySales.getTotal()));
}
BarDataSet dataSet = new BarDataSet(barEntries,"Monthly Sales");
dataSet.setColors(ColorTemplate.MATERIAL_COLORS);
BarData data = new BarData(dataSet);
data.setBarWidth(10f);
chart.setVisibility(View.VISIBLE);
chart.animateXY(2000, 2000);
chart.setData(data);
chart.setFitBars(true);
Description description = new Description();
description.setText("Sales per month");
chart.setDescription(description);
chart.invalidate();
我做错了什么?请注意,月份应该是 xaxis 标签,而 total 应该是 yaxis,我怎么能做到这一点?
A constructor in Java is a special method that is used to initialise
objects. The constructor is called when an object of a class is
created.
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
勾选BarEntry
class。
/**
* Constructor for normal bars (not stacked).
*
* @param x
* @param y
*/
public BarEntry(float x, float y) {
super(x, y);
}
public BarEntry(float x, float y, Object data) {
super(x, y, data);
}
public BarEntry(float x, float y, Drawable icon) {
super(x, y, icon);
}
public BarEntry(float x, float y, Drawable icon, Object data) {
super(x, y, icon, data);
}
public BarEntry(float x, float[] vals) {
super(x, calcSum(vals));
this.mYVals = vals;
}
public BarEntry(float x, float[] vals, Object data) {
super(x, calcSum(vals), data);
this.mYVals = vals;
}
public BarEntry(float x, float[] vals, Drawable icon) {
super(x, calcSum(vals), icon);
this.mYVals = vals;
}
public BarEntry(float x, float[] vals, Drawable icon, Object data) {
super(x, calcSum(vals), icon, data);
this.mYVals = vals;
}
演示
ArrayList<BarEntry> barEntries = new ArrayList<>();
barEntries.add(new BarEntry(1f, 0));
barEntries.add(new BarEntry(2f, 1));
我想根据下面的 json 数据创建图表
[{"month":"August 2020","total":"4587175.08"},{"month":"July 2020","total":"9151128.27"},{"month":"June 2020","total":"10859553.16"},{"month":"May 2020","total":"2600435.33"}]
数据是从数据库到我的图表,但我得到上面的错误 我插入的代码如下
public void onResponse(@NotNull Call<List<MonthlySales>> call, @NotNull Response<List<MonthlySales>> response) {
//check if the response body is null
if(response.body()!=null){
List<BarEntry> barEntries = new ArrayList<>();
for (MonthlySales monthlySales : response.body()) {
barEntries.add(new BarEntry(monthlySales.getMonth(),monthlySales.getTotal()));
}
BarDataSet dataSet = new BarDataSet(barEntries,"Monthly Sales");
dataSet.setColors(ColorTemplate.MATERIAL_COLORS);
BarData data = new BarData(dataSet);
data.setBarWidth(10f);
chart.setVisibility(View.VISIBLE);
chart.animateXY(2000, 2000);
chart.setData(data);
chart.setFitBars(true);
Description description = new Description();
description.setText("Sales per month");
chart.setDescription(description);
chart.invalidate();
我做错了什么?请注意,月份应该是 xaxis 标签,而 total 应该是 yaxis,我怎么能做到这一点?
A constructor in Java is a special method that is used to initialise objects. The constructor is called when an object of a class is created.
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
勾选BarEntry
class。
/**
* Constructor for normal bars (not stacked).
*
* @param x
* @param y
*/
public BarEntry(float x, float y) {
super(x, y);
}
public BarEntry(float x, float y, Object data) {
super(x, y, data);
}
public BarEntry(float x, float y, Drawable icon) {
super(x, y, icon);
}
public BarEntry(float x, float y, Drawable icon, Object data) {
super(x, y, icon, data);
}
public BarEntry(float x, float[] vals) {
super(x, calcSum(vals));
this.mYVals = vals;
}
public BarEntry(float x, float[] vals, Object data) {
super(x, calcSum(vals), data);
this.mYVals = vals;
}
public BarEntry(float x, float[] vals, Drawable icon) {
super(x, calcSum(vals), icon);
this.mYVals = vals;
}
public BarEntry(float x, float[] vals, Drawable icon, Object data) {
super(x, calcSum(vals), icon, data);
this.mYVals = vals;
}
演示
ArrayList<BarEntry> barEntries = new ArrayList<>();
barEntries.add(new BarEntry(1f, 0));
barEntries.add(new BarEntry(2f, 1));