如何获取图表的x和两个y轴值

How to get x and two y axis values of chart

我想得到X的值,以及两个Y轴的值,并显示在MarkerViev中。我怎样才能做到这一点?我的 markerview 代码和期望的结果如下所示。

public class MyMarkerView extends MarkerView {

    private final TextView tvContent;
    private final TextView tvTime;

    public MyMarkerView(Context context, int layoutResource) {
        super(context, layoutResource);

        tvContent = findViewById(R.id.tvFuel);
        tvTime = findViewById(R.id.time_chart);
    }

    // runs every time the MarkerView is redrawn, can be used to update the
    // content (user-interface)
    @Override
    public void refreshContent(Entry e, Highlight highlight) {

        if (e instanceof CandleEntry) {

            CandleEntry ce = (CandleEntry) e;

            tvContent.setText(Utils.formatNumber(ce.getHigh(), 0, true));
        } else {

            String fuelText = "Топливо: " + Utils.formatNumber(e.getY(), 0, true) + " л.";
            tvContent.setText(fuelText);
            //here get x string and second Y axis values...

        }

        super.refreshContent(e, highlight);
    }

    @Override
    public MPPointF getOffset() {
        return new MPPointF(-(getWidth() / 2), -getHeight());
    }
}

Desired Result

感谢您的评论,Manu。我按如下方式解决了问题。

public class MyMarkerView extends MarkerView {

private final TextView tvFuel;
private final TextView tvTime;
private final TextView tvSpeed;

private Float[] mFuelSet;
private Float[] mSpeedSet;
private String[] mTimeSet;

public MyMarkerView(Context context, int layoutResource, Float[] fuelSet, Float[] speedSet, String[] timeSet) {
    super(context, layoutResource);

    tvFuel = findViewById(R.id.tvFuel);
    tvSpeed = findViewById(R.id.tvSpeed);
    tvTime = findViewById(R.id.time_chart);

    mFuelSet = fuelSet;
    mSpeedSet = speedSet;
    mTimeSet = timeSet;
}

@Override
public void refreshContent(Entry e, Highlight highlight) {

    if (e instanceof CandleEntry) {
        CandleEntry ce = (CandleEntry) e;
        tvFuel.setText(Utils.formatNumber(ce.getHigh(), 0, true));
    } else {

        int index = (int) e.getX();

        String fuelText = "Топливо: " + mFuelSet[index] + " л.";
        tvFuel.setText(fuelText);
        String speedText = "Скорость: " + mSpeedSet[index] + " км/ч";
        tvSpeed.setText(speedText);
        String timeText = mTimeSet[index];
        tvTime.setText(timeText);
    }

    super.refreshContent(e, highlight);
}

}