Cannot resolve constructor 'BarEntry(java.lang.String, java.lang.Float)

Viewed 499

I would like to create agraph from the json data bellow

    [{"month":"August 2020","total":"4587175.08"},{"month":"July 2020","total":"9151128.27"},{"month":"June 2020","total":"10859553.16"},{"month":"May 2020","total":"2600435.33"}]

That data is from a db to my graph but I get the error above My code for inserting the entires is as follows

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

What could I be doing wrong? Note that the month should be the xaxis label while the total the yaxis, how coud I achieve this?

1 Answers

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;

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

DEMO

 ArrayList<BarEntry> barEntries = new ArrayList<>();
         
 barEntries.add(new BarEntry(1f, 0));
 barEntries.add(new BarEntry(2f, 1));
Related