如何使用DatePicker元素中的日期作为MPAndroidChart上的x轴值?

问题描述

我正在尝试使用MPAndroidChart创建折线图,其中用户使用DatePicker输入日期(今天或前一天),然后为该日期输入一个单独的值。我遇到的问题是如何从DatePicker格式化该日期,以将其保存在SQLite数据库中,然后将其取出并用于图形的X轴。我已经尝试了在这里和文档中看到的所有不同方法,但是它们似乎更多地用于实时数据,而不是前几天的图形。

我几乎迷失了解决此问题的最佳方法。任何帮助或建议都将得到感谢。

解决方法

使用自定义valueformatter

class DateValueFormatter extends ValueFormatter {
    private SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
    private List<Date> dateList;

    public DateValueFormatter(List<Date> dateList) {
        this.dateList = dateList;
    }

    @Override
    public String getAxisLabel(float value,AxisBase axis) {
        int axisValue = (int) value;
        if (axisValue >= 0 && axisValue < dateList.size()) {
            return dateFormat.format(dateList.get(axisValue));
        } else {
            return "";
        }
    }
}

并设置xaxis值格式器

chart.getXAxis().setValueFormatter(new DateValueFormatter(datelist));

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...