我有以下代码:
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 "";
}
}
});
由于某些未知原因,XAxis上没有显示任何值。我将prevXVal
初始化为0,如果删除if语句,可以看到X轴上的值正确。我基本上想从X轴上删除重复的值,并且仅在xVal
更改时显示这些值。我不确定为什么此代码将无法正常工作,因为考虑到删除时if语句不会始终为假,因此我看不到值会发生变化。
有人知道我在做什么错吗?
答案 0 :(得分:0)
好的,我知道了。这似乎可以解决问题:
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 "";
}
}
});