我使用surfaceview在Android中绘制饼图。为了知道切片应该有多大,我需要将参数传递给onDraw()方法。我怎样才能做到这一点?在onDraw()中,我查询了一个获取正确数据的datahelper-class。
我试图从onDraw调用一个Activity中的静态函数,哪个函数返回一个整数。但是我想要一些更动态的东西,所以我可以将我需要的整数从Activity发送到onDraw,然后以饼图的形式得到结果。
有什么建议吗?
答案 0 :(得分:2)
其中一个解决方案可能是这样的:
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));
}