当前位置: 代码迷 >> Android >> 安卓组件嵌套多层时获取父组件的步骤
  详细解决方案

安卓组件嵌套多层时获取父组件的步骤

热度:83   发布时间:2016-04-28 07:38:37.0
安卓组件嵌套多层时获取父组件的方法

在组件包含多层的时候获取子组件可以用findViewById(id),而获取父组件可以用getParent(),但是getParent()不能获取爷爷组件,需要写多个getParet().getParent()...。

比如父子关系为 ParentView-Child1->Child2->Me。

其中Me 为操作的对象比如Button,就是自己。ParentView为要找的父对象,Child1为ParentView的子组件,Child2为Child1的子组件,Me 为Child2的子组件。

1.设置Tag:

ParentView pv=new ParentView();Me me=new Me();me.setTag(pv);

?

在想要获取父组件的时候 :

ParentView target=(ParentView)me.getTag();

?

2.递归方法

?

findParentRecursively(View view, int targetId) {    if (view.getId() == targetId) {        return view;    }    View parent = view.getParent();    if (View == null) {        return null;    }    return findParentRecursively(parent, targetId);}
?

?

参考地址:http://stackoverflow.com/questions/14190864/find-parent-view-by-id

?

?

?

?

  相关解决方案