`
n15865386136
  • 浏览: 22371 次
社区版块
存档分类
最新评论

安卓组件嵌套多层时获取父组件的方法

阅读更多

在组件包含多层的时候获取子组件可以用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

 

 

 

 

分享到:
评论

相关推荐

    Fragment和Viewpager多层嵌套

    1. **生命周期管理**:由于Fragment和其内部的子Fragment具有各自的生命周期,处理它们的生命周期方法(如onCreate(), onStart(), onResume()等)时需要特别小心,避免在多层嵌套下出现混乱。 2. **通信和事件传递*...

    Android-复杂界面实现RecyclerView嵌套ViewPagerRecyclerView多布局实现

    在Android应用开发中,复杂界面的设计常常涉及到组件的嵌套和多布局的使用。本教程将深入探讨如何利用RecyclerView和ViewPager来构建一个高效且可扩展的界面。RecyclerView因其高效的列表展示能力而广受欢迎,而...

    多层Fragment嵌套(Fragment+ViewPager)滑动

    在Android应用开发中,`Fragment`是用于构建可重用的UI组件的重要工具,它可以独立于Activity存在,并在需要时动态插入到布局中。而`ViewPager`则是一种强大的视图切换器,通常用于实现平滑的左右滑动效果,常用于...

    Android ExpandableListView双层嵌套实现三级树形菜单

    在Android开发中,ExpandableListView是一个非常有用的控件,它允许我们展示数据以树形结构的形式,这在处理层级关系复杂的数据时非常有用。在这个"Android ExpandableListView双层嵌套实现三级树形菜单"的例子中,...

    安卓 tabhost嵌套tabhost

    当我们提到“安卓 TabHost 嵌套 TabHost”,这意味着在一个TabHost内,我们还要再创建一个TabHost,形成一个多层选项卡的结构,以提供更复杂的导航体验。 首先,我们来理解基本的TabHost用法。TabHost通常由两部分...

    Android中Fragment多层嵌套时onActivityResult无法正确回调问题的解决方法

    但是,在使用Fragment进行多层嵌套时,常常会遇到一个问题:通过startActivityForResult启动Activity,然后希望在Fragment的onActivityResult中接收结果,但是只有最外层的Fragment能够接收到回调,而内嵌的Fragment...

    Android主页面 多层Fragment嵌套(Fragment+ViewPager)滑动

    本主题将深入探讨如何在Android主页面上实现多层Fragment的嵌套,结合ViewPager来构建流畅的滑动体验。这对于新手开发者来说,是一个很好的学习实践案例。 Fragment是Android SDK提供的一种组件,它允许我们在一个...

    FragmentDome,包括嵌套viewpager,Fragment多层嵌套

    总结来说,FragmentDome是一个全面的示例项目,它展示了如何在Android应用中有效地使用Fragment,特别是在处理多层嵌套和与ViewPager集成时的最佳实践。通过对这个项目的深入研究,开发者能够提升自己的Android UI...

    Fragment 多层嵌套方法调用问题的解决方案

    Fragment是Android应用开发中用于构建可复用组件的重要部分,特别是在设计适应不同屏幕尺寸的应用时。随着应用复杂性的增加,可能会出现Fragment的多层嵌套,导致方法调用变得复杂。在这种情况下,需要采取有效的...

    由滑动顶端悬浮引发的性能优化大坑坑坑—ScrollView嵌套ListView以及层层嵌套

    2. **自定义滚动逻辑**:如果必须嵌套,可以通过重写onInterceptTouchEvent和onTouchEvent方法,手动处理滚动事件,确保只有单个组件处理滚动。 3. **使用RecycleView**:RecycleView是ListView的升级版,提供了更...

    嵌套滑动机制实现的联合fling滚动

    在Android开发中,嵌套滑动(Nested Scroll)机制是一个重要的功能,它允许在一个ViewGroup内的子View之间协同处理滑动手势,使得复杂的用户界面能够流畅地进行多方向的滚动操作。"嵌套滑动机制实现的联合fling滚动...

    Android嵌套滑动

    嵌套滑动(Nested Scroll)是由`NestedScrollView`和`RecyclerView`等组件引入的,它们都实现了`NestedScrollingChild`接口,允许它们向父视图发送滚动事件。而`CoordinatorLayout`作为父视图,实现了`...

    两层嵌套的checkbox记录选中状态

    在IT领域,尤其是在Android开发中,经常需要处理用户交互,比如多层嵌套的复选框(checkbox)的选中状态管理。这个场景通常出现在数据结构复杂,需要展示层次关系的时候,例如在ListView中嵌套一个Gridview,而...

    Android 多层嵌套后的 Fragment 懒加载实现示例

    在Android开发中,尤其是构建复杂的UI布局时,Fragment的嵌套使用非常常见。然而,随着层级的加深,如何有效地管理Fragment的加载变得至关重要,尤其是在数据加载策略上,懒加载(Lazy Load)是一种优化用户体验的...

    Fragment嵌套Fragment实现多tab页面

    在Android应用开发中,Fragment是UI组件的一部分,用于在大屏幕设备如平板电脑上构建复杂的界面。Fragment可以独立于Activity存在,并且可以在Activity之间共享,这使得它在创建多tab页面时非常有用。"Fragment嵌套...

    ListView三层嵌套

    当我们需要在ListView的项中再嵌套其他ListView时,就会遇到所谓的“ListView三层嵌套”问题。这篇博客文章《ListView三层嵌套》详细探讨了如何在Android应用中实现这样的复杂布局。 首先,我们需要理解ListView的...

    expandlistview多层展开Android-TreeView-原版

    本项目"expandlistview多层展开Android-TreeView-原版"旨在实现多层展开的功能,通过嵌套`ExpandableListView`来达到这一目标。 `ExpandableListView`是Android SDK提供的一种可扩展的列表视图,它不仅支持单个条目...

    Android-一种处理嵌套和非嵌套滑动冲突的解决方案

    在Android开发中,触摸事件处理是一个关键且复杂的话题,特别是在涉及多层布局或者有嵌套滑动组件的情况下。本文将深入探讨如何解决嵌套和非嵌套滑动冲突,为你的应用提供更流畅的用户体验。 Android系统采用了一种...

    Android Fragment多层嵌套重影问题的解决方法

    在Android开发中,Fragment是构建用户界面的重要组件,特别是在创建复杂布局时,多层嵌套的Fragment使用很常见。然而,这种使用方式可能会引发一些问题,比如“重影”现象,即切换Fragment时,旧的Fragment没有正确...

    多个fragment嵌套,返回上级fragment例子

    在Android应用开发中,Fragment是UI组件的一种,用于在Activity中展示可动态替换或操作的模块化内容。在复杂的用户界面设计中,我们经常会遇到Fragment的嵌套问题,即一个Fragment内部包含另一个或多个Fragment。...

Global site tag (gtag.js) - Google Analytics