Android中的onSizeChanged /自定义视图类

时间:2011-11-19 00:41:03

标签: android android-custom-view

我需要一个扩展视图的类来覆盖onSizeChanged方法,以便跟踪我的一个视图元素的大小。我有另一个管理此视图的类,我希望该类接受我的视图作为视图,而不是作为大小视图。从本质上讲,我想让我覆盖onSizeChanged方法对类(管理类)的用户透明。

当我的管理类接受视图时,我需要将View转换为我的自定义视图类。不幸的是,当我这样做时,我得到了一个classcastexception。

这是我失败的功能。此外,this.root的类型为SizeView

public void setContentView(View view) {
    this.root = (SizeView) view;
    this.window.setContentView(view);
}

有可能这样做吗?或者,监视我的一个视图变量的onSizeChanged方法的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

确保您传入的变量view已初始化为SizeView。有关投射here的更多信息。

在投射之前,您还应该检查view是否实际上是SizeView类型。所以使用view instanceof SizeView然后如果它是真的你做演员。