【问题标题】:Display hours per hour in GraphView?在 GraphView 中每小时显示小时数?
【发布时间】:2013-08-28 16:52:44
【问题描述】:

使用 GraphView 库我找到了这部分代码:

/*
         * use Date as x axis label
         */
        long now = new Date().getTime();
        data = new GraphViewData[size];
        for (int i=0; i<size; i++) {
            data[i] = new GraphViewData(now+(i*60*60*24*1000), rand.nextInt(20)); // next day
        }
        exampleSeries = new GraphViewSeries(data);

        if (getIntent().getStringExtra("type").equals("bar")) {
            graphView = new BarGraphView(
                    this
                    , "GraphViewDemo"
            );
        } else {
            graphView = new LineGraphView(
                    this
                    , "GraphViewDemo"
            );
            ((LineGraphView) graphView).setDrawBackground(true);
        }
        graphView.addSeries(exampleSeries); // data

显示日期如“9 月 16 日,9 月 20 日”等...是否可以更改此代码并每小时显示小时数?比如“06.00、07.00、08.00”等等?

【问题讨论】:

    标签: android datetime android-graphview


    【解决方案1】:

    你应该使用SimpleDateFormat 来格式化日期:

    SimpleDateFormat hoursDateFormat = new SimpleDateFormat("h.mm");
    
    for (int i=0; i<size; i++) {
        data[i] = new GraphViewData(hoursDateFormat.format(now+(i*60*60*24*1000)), rand.nextInt(20)); // next day
        }
    

    【讨论】:

    • 你认为两者都可以写吗?我的意思是在 X 轴上显示(9 月 16 日 10.00、9 月 16 日 11.00 等)?总是使用那个代码
    • 是的,您只需将 hoursDateFormat 值更改为“MMM DD h.mm”
    • 对不起unknown entity
    • 好的,现在等待它的工作原理..但它显示(8 月 28 日 11.29、9 月 6 日 11.29 和 9 月 11 日 11.29)而不是每天和每小时
    • 我写了 for (int i=0; i&lt;size; i++) { data[i] = new GraphViewData((now+(i*60*60*24*100)), rand.nextInt(20)); // next day }SimpleDateFormat hoursDateFormat = new SimpleDateFormat("MMM dd h.mm"); 现在写 100 而不是 1000 (我不知道这个值是什么)它显示 Aug28 11.57 Aug30 09.05
    猜你喜欢
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多