Android get layout parent id

╄→尐↘猪︶ㄣ 提交于 2019-11-30 17:17:40

问题


I would like to know what is the difference between View and ViewParent ? I am trying to get the Id of the parent of an ImageView but this I can't do :

myImageView.getParent().getId();

So is there another way to get this id ?


回答1:


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...

  1. If the parent View doesn't implement the ViewParent interface then the cast will fail.
  2. The parent View must have a resource id defined in the layout file as (for example) android:id=@+id/myParentViewId or the call to getId will return null



回答2:


You have to cast your parent view to a View, so you can use getId() method, using ((View) myImageView.getParent()).getId()




回答3:


Surrounding imageview returns the parent layout id.

android:id="@+id/returnid"

example :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/returnid"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <iamageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="24dp"
        android:text="test"
        android:background="@drawable/white"
        />

</RelativeLayout>


来源:https://stackoverflow.com/questions/22759352/android-get-layout-parent-id

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!