android - Android ViewParent 是否保证是 Viewgroup?

标签 android android-view

是否存在 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() 获得一个不是 ViewGroupViewParent .这是真实案例吗?

所以
- 如果您不能确定父类型,您最好检查一下。
- 在普通应用程序中,您通常了解什么是父级或可以是什么 - 因此您可以跳过检查

关于android - Android ViewParent 是否保证是 Viewgroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27760051/

相关文章:

android - 如何去除 Material Button 中图标的色调?

Android 视频录制 - mediaRecorder.start 上的 IllegalStateException

android - 在缓慢的工作日保持忙碌/增加编码印章

java - MotionEvent.obtain(…);不像屏幕上的攻丝

android - LinearLayout 和 FitWindowsLinearLayout 有什么区别?

android - 在电子邮件撰写中,我想在 android 中为类似雅虎的功能设计输入

Android findViewById(android.R.id.home) 返回 null 与支持库

android - 持久双向关系 ormlite

java - 如何更改 SearchView 下方底线的颜色

android - 添加安卓功能