递归获取View的子View数

1.递归方式

    public static int  getViewCountByRecursive(View root){
        int viewCount = 0;

        if (null == root){
            return 0;
        }

        viewCount++;
        if (root instanceof ViewGroup){
            for (int i = 0; i < ((ViewGroup) root).getChildCount(); i++) {

                View child = ((ViewGroup) root).getChildAt(i);
                if (child instanceof ViewGroup){
                    viewCount += getViewCountByRecursive(child);
                }else {
                    viewCount++;
                }

            }
        }

        return viewCount;
    }
复制代码

2.非递归方式

    public static int  getViewCount(View root){
        int viewCount = 0;
        if (null == root){
            return 0;
        }
        viewCount++;
        if (root instanceof ViewGroup){
            LinkedList<ViewGroup> queue = new LinkedList<>();
            queue.add((ViewGroup) root);
            while (!queue.isEmpty()){
                ViewGroup parent = queue.removeFirst();
                for (int i = 0; i < parent.getChildCount(); i++) {
                    viewCount++;
                    View child = parent.getChildAt(i);
                    if (child instanceof ViewGroup){
                        queue.add((ViewGroup) child);
                    }
                }


            }
        }
        return viewCount;
    }
复制代码

转载于:https://juejin.im/post/5d010ddbe51d45554877a5b4

OCCT(Open CASCADE Technology)入门-2.搭建开发环境 安装完成后,在【扩展】菜单下会看到【Qt VS Tools】菜单,打开菜单【options】进入qt配置窗口。打开VS后随便创建一个新项目,进入开发环境主页,打开顶部菜单【扩展】->【管理扩展】打开管理扩展窗口。然后点击右下角【创建】,一路【next】即可,最后会进入到开发主界面,得到一个下面的工程结构。好了,到这里基本的环境我们已经安装好了,下面我们开始创建项目并配置开发环境。打开顶部菜单【项目】,点击最后一个菜单项【xxx属性】,进入项目配置界面。这里的配置一般不用改,我们看【Versions】 阅读详情

相关推荐

通过遍历父viewview获取需要的view控件

获取需要的view控件

m0_60898338的博客 1125

Android 获取 View 的位置及坐标的方式

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2301_76352508的博客 1090

android获取View的方法

地址:http://blog.csdn.net/lloha/article/details/51496172

Android 遍历界面所有的View

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

fumeidonga的博客 4420

获取ViewView

1.递归方式 public static int getViewCountByRecursive(View root){ int viewCount = 0; if (null == root){ return 0; } viewCount++; if (root inst...

augfun的博客 1203

view视图的递归

// - 方法一 - (void)getSubView:(UIView *)view array:(NSMutableArray *)array{ for (UIView *sub in view.subviews){ [array addObject:sub]; [self getSubView:sub array:array]; } } // - 方法二 - (NSMutableArray *)getSubView:(UIView *)view{

Coder 266

统计一个ViewGroup中包含的View的个(递归和非递归实现)

编码实现统计一个ViewGroup中锁包含的View的个 1、首先想到的肯定是递归实现,代码如下: /** * 递归统计一个ViewView(包含自身) * * @param root * @return */ public int count1(View root) { int viewCount = 0; ...

neuHenry 2669

Android 递归viewview

递归相关视频讲解:据结构与算法-栈-Go代码演示版Android 递归viewview实现方法 简介 在Android开发中,有时候我们需要递归地遍历一个ViewGroup中的所有View,这对于一些需要对所有View进行操作的场景非常有用。接下来我将教你如何实现这一功能。 整体流程 首先,我们需要明确整个实现...

weixin_41138572的博客 188

Android获取activity的所有view(使用到递归)

...

米小豆的博客 1万+

使用递归方法获取某个视图的所有视图

使用递归方法获取某个视图的所有视图,并有层次的打印出来。代码示例// 视图 UIView *view0 = [[UIView alloc] initWithFrame:CGRectMake(10.0, 10.0, 10.0, 10.0)]; [self.view addSubview:view0]; // UIView *view1 = [[UIView alloc] initWithFra...

番薯大佬的专栏 1426

Android 设置view透明度(Alpha)包括view

Android 设置view透明度(Alpha)包括view Android 设置view透明度工具方法 /** * 设置view 透明度 包括view * * @param view * @param alpha 10进制 */ public static void setAlphaAllView(View view, @FloatR...

闪电_Star的专栏 6173

获取activity下的所有view

/** * @note 获取该activity所有view * */ public void getAll() { View view = current_activity.getWindow().getDecorView(); List all_child=getAllChildViews(view);//……//……//do somthing } private List get

qrsssh的专栏 980

Android 算法:遍历ViewGroup找出所有View

1.用递归的方式实现 // 遍历viewGroup public int traverseViewGroup(View view) { int viewCount = 0; if (null == view) { return 0; } if (view instanceof ViewGroup) ...

阿亮的博客 1万+

RecyclerView 获取指定位置item的view获取view控件

@Override protected void onResume() { super.onResume(); new Handler().postDelayed(new Runnable() { @Override public void run() { View view = mLayoutManager.findView

刘胡来 5万+

Android GridView获取View(并操作)

Android GridView获取View,然后进行操作。看了一些资料和别人写的,可还是获取不到,要不就是没有效果,最后自己调试出来了。之前看过一篇文章,说了这个问题,myGridView.getSelectedView();等获取的都是null的,然后发现需要myGridView.getAdapter().getView(i,null,null);这样可以获取View,我测试是可以,能获取

aierJun禁戒的地平线 6397

iOS获取一个view对应的view

很多时候,我们会遇到这样的一种场景,在一个view的一堆subviews里面找到我们想要的那个view,尤其是要在一个不是我们自己写的view的subviews中找到那个想要的view, 这种场景下,能获取到这个view就显得至关的有用了。譬如,我们要自定义tableview左滑删除的样式时,尤其是自定义成一个特定的图标或者更复杂的情况,具体看下面截图: 在这种情况下,我们就需要获取到这个tabl...

qq_20255275的博客 1853

获取view中所有的孙view数量View

自定义控件继承ViewGroup  会去在onLayout中重画view的位置及宽高,ViewGroup所提供的getChildCount 只能获取到第一层view数量获取view数量 需要   这样就能获取 数量 以及view 了 也可以对 view 进行相关的操作...

fragment1的博客 2393

Android 遍历 View元素

Android 遍历 View元素太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。 @Overri...

太阳火神的美丽人生 7653

UniCAscl IEC61850一致性检测工具

KEMA(Keuring Van Elektrotechnische Materialen) ;   荷兰电力试验所为世界性电力试验认证机关   KEMA—KEUR 是为了(电的)安全的质量标志。电的产品必须顺从“欧洲低电压指示”的标准,和 CE 产品的标准一致。具体的要求和欧洲的标准是一致的。一件产品如果拿到了 KEMA—KEUR 的标志,达到了这些要求,也就意味着可以自动地达到欧洲法律的要求。   我们的专家在测试范围、评估、检查、审计和颁发证书各方面提供服务。也可以提供训练和顾问的服务。我们所涉及的范围不仅包括机电工程,也包括环境、安全和工作环境。

上一篇: MySQL(一)
下一篇: 102421集合论
weixin_34367257
博客等级 码龄10年 4337粉丝 697原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值