public class YourValueFormatter : IValueFormatter
{
public IntPtr Handle
{
get;
}
public void Dispose()
{
throw new NotImplementedException();
}
private DecimalFormat mFormat;
public YourValueFormatter() {
mFormat = new DecimalFormat("###,###,###"); // use no decimals
}
public String GetFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
// This method never called.
return Math.Round(value)+"";
}
}
这就是我将格式化程序设置为数据
的方法data.SetValueFormatter(new YourValueFormatter());
也尝试在像这样的数据集上设置它
dataset.ValueFormatter=new YourValueFormatter();
在许多方面尝试过,但没有为我工作。
我想像这样圆棒化
2.00到2%(预定义百分比格式化程序格式化,如此2.0%,但我需要2%)
或
420.0至420
lib版本:2.2.3.2
答案 0 :(得分:3)
当你实现java接口时,你必须继承Java.Lang.Object
。如果你看一下构建输出,你会发现类似的东西:
键入' YourValueFormatter'实现IValueFormatter但不从Java.Lang.Object继承。它不受支持。
<强>正确强>
public class YourValueFormatter : Java.Lang.Object, IValueFormatter
{
private DecimalFormat mFormat;
public YourValueFormatter() {
mFormat = new DecimalFormat("###,###,###"); // use no decimals
}
public String GetFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler)
{
// This method never called.
return Math.Round(value)+"";
}
}
现在应该调用GetFormattedValue
。