问题描述
我正在尝试使用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));