我想Time vs Value
为我的应用程序绘制一个图表,其中包含我正在使用的 y 轴上的值和Time
值https://github.com/nadavfima/ChartView。但是我在插入时遇到了问题, 因为它只接受整数。我该如何摆脱这个问题?我有格式为“dd-MMM-YYYY h:mm:ss”的时间值。尝试使用但不满意。任何帮助将不胜感激。x-axis
ChartView
Time
x-axis
achartengine
提前致谢。
我想Time vs Value
为我的应用程序绘制一个图表,其中包含我正在使用的 y 轴上的值和Time
值https://github.com/nadavfima/ChartView。但是我在插入时遇到了问题, 因为它只接受整数。我该如何摆脱这个问题?我有格式为“dd-MMM-YYYY h:mm:ss”的时间值。尝试使用但不满意。任何帮助将不胜感激。x-axis
ChartView
Time
x-axis
achartengine
提前致谢。
您需要将您的时间转换为双精度,以便 ChartView 可以使用它们,然后创建您自己的 LabelAdapter 以在显示标签时将这些双精度值转换回时间格式。
例如,您可以使用这样的代码来获取以毫秒为单位的时间,假设您已经将输入格式解析为年、月、日等。
Calendar calendar = new GregorianCalendar(year, month, day, hour, min, sec);
double floatTime = calendar.getTimeInMillis();
有关如何创建 LabelAdpater 的示例,请查看 ChartView 中包含的示例代码。
在那个例子中,他们只是把标签写成这样的浮点数:
labelTextView.setText(String.format("%.1f", getItem(position)));
但是您可以轻松地做这样的事情:
double floatTime = getItem(position);
Calendar calendar = new GregorianCalendar();
calendar.setTimeInMillis((long)floatTime);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
sdf.setTimeZone(TimeZone.getDefault());
String stringTime = sdf.format(calendar.getTime());
labelTextView.setText(stringTime);