TimeChart をコーディングしましたが、X ラベルが表示されず、理由がわかりません。これは、空のグラフを使用してビューを構築するためのコードと、それを埋めるためのメソッドです。
GraphicalView graphicalView = null;
TimeSeries series = null;
XYMultipleSeriesDataset dataset = null;
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
public View buildGraph() {
series = new TimeSeries("");
dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series);
// set properties
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setPointStyle(PointStyle.CIRCLE);
renderer.setLineWidth(2);
XYMultipleSeriesRenderer multipleRenderer = new XYMultipleSeriesRenderer();
multipleRenderer.addSeriesRenderer(renderer);
multipleRenderer.setShowGrid(true);
multipleRenderer.setPointSize(8);
multipleRenderer.setClickEnabled(true);
multipleRenderer.setShowLegend(false);
multipleRenderer.setShowLabels(true);
multipleRenderer.setLabelsTextSize(20);
// create view
if (graphicalView == null) {
graphicalView = ChartFactory.getTimeChartView(context, dataset,
multipleRenderer, "");
graphicalView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
SeriesSelection seriesSelection = graphicalView
.getCurrentSeriesAndPoint();
if (seriesSelection != null) {
Toast.makeText(
context,
" " + dateFormat.format(seriesSelection.getXValue()) + " "
+ seriesSelection.getValue(),
Toast.LENGTH_LONG).show();
}
}
});
}
return graphicalView;
}
// refresh graph
@SuppressLint("SimpleDateFormat")
public void refresh(ArrayList<String[]> list) {
try {
for (int i = 0; i < list.size(); i++) {
series.add(dateFormat.parse(list.get(i)[2]),
Double.valueOf(list.get(i)[0]));
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
graphicalView.repaint();
}
どうしたの?