是否存在 View.getParent
() 返回类型不是 ViewGroup
的对象的实际情况?或者我可以像下面的代码示例一样安全地转换它而不先检查它的类型吗?
if (getParent() == null){
throw new IllegalStateException("View does not have a parent, it cannot be rootview!");
}
ViewGroup parent = (ViewGroup) getParent();
最佳答案
如果比较 ViewGroup 的直接子类和间接子类和 ViewParent它们看起来一样(考虑 ViewGroup 本身)。
仍然有可能在某些自定义库中,您可能会从 getParent()
获得一个不是 ViewGroup
的 ViewParent
.这是真实案例吗?
所以
- 如果您不能确定父类型,您最好检查一下。
- 在普通应用程序中,您通常了解什么是父级或可以是什么 - 因此您可以跳过检查
关于android - Android ViewParent 是否保证是 Viewgroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27760051/