ViewParent如何投射到View中?
How can ViewParent be cast into View?
此代码:
(View) contentView.getParent();
我不太明白:ViewParent 是一个接口,View 是一个 class 没有实现该接口。
它们是如何相互转化的?
这在大多数情况下都有效,因为大多数 ViewParent
是 ViewGroup
。
ViewGroup
扩展了 View
并实现了 ViewParent
,因此它同时满足了两者。
ViewParent
是一个单独的接口的原因是这不会 总是 工作:如果你继续向上树,你最终会找到一个ViewParent
不是 ViewGroup
(具体来说,你会到达 ViewRootImpl
),因此也不是 View
,这将导致 ClassCastException
.
此代码:
(View) contentView.getParent();
我不太明白:ViewParent 是一个接口,View 是一个 class 没有实现该接口。
它们是如何相互转化的?
这在大多数情况下都有效,因为大多数 ViewParent
是 ViewGroup
。
ViewGroup
扩展了 View
并实现了 ViewParent
,因此它同时满足了两者。
ViewParent
是一个单独的接口的原因是这不会 总是 工作:如果你继续向上树,你最终会找到一个ViewParent
不是 ViewGroup
(具体来说,你会到达 ViewRootImpl
),因此也不是 View
,这将导致 ClassCastException
.