1

我使用surfaceview在Android中绘制饼图。为了知道饼图应该有多大,我需要将参数传递给 onDraw() 方法。我怎样才能做到这一点?在 onDraw() 内部,我对获取正确数据的 datahelper-class 进行查询。

我试图从 onDraw 调用一个 Activity 中的静态函数,该函数返回一个整数。但我想要一些更动态的东西,所以我可以将我需要的整数从 Activity 发送到 onDraw 并以饼图的形式获得结果。

有什么建议么?

4

1 回答 1

4

解决方案之一可以是这样的:

public class MySurfaceView extends SurfaceView
{
    private MyParameter parameter;

    public void setParameter(MyParameter parameter)
    {
        this.parameter=parameter;
    }

    @Override
    public void onDraw(Canvas canvas)
    {
        if(this.parameter==null)
            return;  //nothing to draw...
        //draw here...
    }
}

//somewhere in code

MySurfaceView sView=(SurfaceView )findViewById(R.id.pie_chart);
//
sView.setParameter(new MyParameter(100,2000, false));

}
于 2011-06-06T16:34:14.897 回答