1 回答
TA贡献1155条经验 获得超0个赞
ValueFormatter用于格式化您设置的数据,而chart.setData()不是设置数据本身。
这是如何格式化日期的示例代码
xAxis.setValueFormatter(new IAxisValueFormatter() {
private final SimpleDateFormat mFormat = new SimpleDateFormat("dd MMM HH:mm", Locale.ENGLISH);
@Override
public String getFormattedValue(float value, AxisBase axis) {
long millis = TimeUnit.HOURS.toMillis((long) value);
return mFormat.format(new Date(millis));
}
});
编辑
我只是看了一下您将日期数组的索引存储到图表数据中。如果是这样,您只需要从日期数组中返回日期。
String[] datez;
String selectQueryz = "SELECT * FROM table_palembang";
db = new DBHelper(getApplicationContext());
SQLiteDatabase dbz = db.getWritableDatabase();
Cursor cursorz = dbz.rawQuery(selectQueryz, null);
countz = cursorz.getCount();
datez = new String[countz];
for (int k = 0; k < countz; k++) {
cursorz.moveToNext();
datez[k] = cursorz.getString(2);
}
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return datez[(int) value];
}
});
PS数据库调用应该在后台线程中。
添加回答
举报
