代码之家  ›  专栏  ›  技术社区  ›  Pink Jazz

XMax上的MPANDROIDCHILD值格式化程序的奇怪行为

  •  0
  • Pink Jazz  · 技术社区  · 6 年前

    我有以下代码:

    xAxis.setValueFormatter(new IAxisValueFormatter() {
    @Override
        public String getFormattedValue(float value, AxisBase axis) {
            int intValue = (int) value;
            int xVal = intValue / 120 / 12;
    
            if (xVal > prevXVal) {
                prevXVal = xVal;
                return ConvertUnits.toString(xVal);
            } else {
                return "";
            }
        }
    });
    

    由于一些未知的原因,xx轴上没有显示任何值。我初始化 prevXVal 到0,如果我删除if语句,我可以看到x轴上的值是正确的。基本上,我想从X轴上删除重复的值,只显示值。 xVal 变化。我不知道为什么这段代码不起作用,因为我不知道如果语句总是错误的,考虑到当我删除它时,我看到了值的变化。

    有人知道我做错了什么吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Pink Jazz    6 年前

    好吧,我想出来了。这似乎起到了作用:

    xAxis.setValueFormatter(new IAxisValueFormatter() {
        @Override
        public String getFormattedValue(float value, AxisBase axis) {
            int intValue = (int) value;
            String xVal = ConvertUnits.toString(intValue / 120 / 12);
    
            if (!xVal.equals(prevXVal)) {
                prevXVal = xVal;
                if (xVal.equals("0")) {
                    return "";
                } else {
                    return xVal;
                }
            } else {
                return "";
            }
        }
    });