我正在尝试创建一个继承Android的Canvas类的类。我的理由是为我的游戏框架为该类添加更强大和有用的方法。当我尝试在onDraw()
方法中将我的AdvancedCanvas对象强制转换为Canvas时。我在draw()
方法中执行绘图部分,该方法将advancedcanvas对象作为参数。它会导致异常;
java.lang.ClassCastException:android.view.Surface $ CompatibleCanvas无法强制转换为com.example.x.AdvancedCanvas
这是我的代码块
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
AdvancedCanvas advancedcanvas = (AdvancedCanvas) canvas;
draw(advancedcanvas);
}
我真正的问题是,有没有办法首先实现这一目标?或者欢迎任何其他想法。提前致谢。