1

当我尝试删除注释时,我收到一个错误:

java.lang.NullPointerException:尝试在 com.scichart.charting.visuals.annotations 的空对象引用上调用接口方法“void com.scichart.charting.visuals.annotations.IAnnotationPlacementStrategy.drawAdorner(android.graphics.Canvas)”。 AnnotationBase.onDrawAorner(SourceFile:889) at com.scichart.charting.visuals.annotations.AdornerLayer.onDraw(SourceFile:144) at android.view.View.draw(View.java:17071) at android.view.View.updateDisplayListIfDirty (查看.java:16053)

我尝试了很多方法,例如:

UpdateSuspender.using(priceChart, new Runnable() {
    @Override
    public void run() {
        priceChart.getAnnotations().clear();
    }
});

UpdateSuspender.using(priceChart, new Runnable() {
    @Override
    public void run() {
        priceChart.getAnnotations().remove(myAnnotation);
    }
});

但我就是无法删除它。

4

2 回答 2

0

这很奇怪。这里有一个关于注释的 SciChart Android 教程。它使用'chart.getAnnotations().remove(0)'

本教程的完整源代码可在SciChart.Android.Examples Github 存储库中找到。

对你起作用吗?

于 2017-07-28T22:52:37.860 回答
0

这是 Scichart 团队的官方回答:

嗨马科斯,

我想通知您,我已经调查并解决了这个问题。这是由我们代码中的一个小错误引起的——当您从图表中删除注释时,如果选中它,它不会删除注释的装饰器。该修复程序将在我们的下一个夜间版本中提供,现在您可以通过在从集合中删除之前取消选择注释来解决此问题:

UpdateSuspender.using(priceChart, new Runnable() {
    @Override
    public void run() {
        myAnnotation.setSelected(false);
        priceChart.getAnnotations().remove(myAnnotation);
    }
});

希望对你有帮助!

最好的问候,尤拉

于 2017-08-01T17:50:52.817 回答