Android get layout parent id
I would like to know what is the difference between View and ViewParent ?
A View
is a class and a ViewParent
is an interface.
Although many of the common layout classes implement the ViewParent
interface it isn't guaranteed.
The problem you're having is that the myImageView.getParent()
is returning a ViewParent
which doesn't directly expose a getId()
method.
As others have said, casting the ViewParent
to a View
using...
((View) myImageView.getParent()).getId();
...should work at compile time but be aware of the following...
- If the parent
View
doesn't implement theViewParent
interface then the cast will fail. - The parent
View
must have a resource id defined in the layout file as (for example)android:id=@+id/myParentViewId
or the call togetId
will returnnull
You have to cast your parent view to a View
, so you can use getId()
method, using ((View) myImageView.getParent()).getId()