如何以编程方式在圆上动态更改颜色

How to change color dynamically on a circle programmatically

更新:感谢解答,问题已解决。 是的,缺少代码,我正在使用 Mapsforge 库。

除了 sqlite 查找中的错误比较外,它与其他任何事情无关 结果没有调用 toggleColor()。现在一切正常!

您好,我无法更改 canvas 上绘制的圆圈的颜色。另一种颜色代表圆的不同状态。

它在 onTap 上工作正常,即当我点击屏幕上的圆圈时,但是当我尝试以编程方式进行操作时,例如 circle.toggleColor() 然后 circle.requestRedraw() 没有任何反应。

如何以编程方式完成这项工作?

@Override
public boolean onTap(LatLong geoPoint, Point viewPosition, Point tapPoint) {
        if (this.contains(viewPosition, tapPoint)) {
                toggleColor();
                this.requestRedraw();
                return true;
        }
        return false;
}
@Override


private void toggleColor() {
        if (this.getPaintFill().equals(LongPressAction.GREEN)) {
                this.setPaintFill(LongPressAction.RED);
        } else {
                this.setPaintFill(LongPressAction.GREEN);
        }
}

感谢回答

是的,代码片段中缺少代码,我正在使用 Mapsforge 库。

除了导致未调用 toggleColor() 的 sqlite 查找中的错误比较之外,它与其他任何事情无关。太多时间花在追逐那个愚蠢的错误上...

现在可以正常使用了!