android中的时间与价值图

时间:2013-06-04 13:45:20

标签: java android graph charts

我想在Time vs Value上使用Time为我的应用绘制x-axis图表,并为我使用的y轴上的值ChartView {{ 3}}。但是我在向Time插入x-axis时遇到了问题,因为它只接受整数。我该如何摆脱这个问题?我的时间值格式为“dd-MMM-YYYY h:mm:ss”。尝试使用achartengine但不满意。任何帮助都将深表感谢。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要将时间转换为双精度数,以便ChartView可以使用它们,然后创建自己的LabelAdapter,以便在显示标签时将这些双精度值转换回时间格式。

例如,您可以使用这样的代码来获取以毫秒为单位的时间,假设您已经将输入格式解析为年,月,日等。

Calendar calendar = new GregorianCalendar(year, month, day, hour, min, sec);
double floatTime = calendar.getTimeInMillis();

有关如何创建LabelAdpater的示例,请查看ChartView的example code包含。

在那个例子中,他们只是将标签写成浮动,如下所示:

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