我想知道View和ViewParent有什么区别?我正在尝试获取ImageView
的父代的ID,但是我不能这样做:
myImageView.getParent().getId();
<< 我想知道View和ViewParent有什么区别?
View
是一个类,ViewParent
是一个接口。
尽管许多常见的布局类实现了ViewParent
接口,但不能保证。
您遇到的问题是myImageView.getParent()
返回的ViewParent
不会直接公开getId()
方法。
正如其他人所说,使用...将ViewParent
强制转换为View
((View) myImageView.getParent()).getId();
...应在编译时工作,但要注意以下...如果父级
View
未实现ViewParent
接口,则强制转换将失败。- 父级
View
必须在布局文件中定义为(例如)android:id=@+id/myParentViewId
的资源ID,否则对getId
的调用将返回null
View
,因此可以使用getId()
来使用((View) myImageView.getParent()).getId()
方法>parent
: