Android获取布局父ID

aka*_*ari 5 layout android parent

我想知道View和ViewParent有什么区别?我想获得一个父母的Id,ImageView但我不能这样做:

myImageView.getParent().getId();
Run Code Online (Sandbox Code Playgroud)

那么还有另一种获取此ID的方法吗?

Squ*_*onk 6

我想知道View和ViewParent有什么区别?

A View是一个类,一个ViewParent是接口.

虽然许多常见的布局类实现了ViewParent接口,但是不能保证.

你遇到的问题myImageView.getParent()是返回一个ViewParent不直接公开getId()方法的问题.

正如其他人所说,ViewParent投入View 使用...

((View) myImageView.getParent()).getId();
Run Code Online (Sandbox Code Playgroud)

......应该在编译时工作,但要注意以下事项......

  1. 如果父级View没有实现ViewParent接口,则转换将失败.
  2. 父级View必须在布局文件中定义资源ID(例如)android:id=@+id/myParentViewIdgetId将返回的调用null