获取activity上所有指定类型的控件

简介: Android获取所有指定类型的子控件,这样就不需要逐个使用findViewByID来获取控件,来达到控制状态的目的了。

Android获取所有指定类型的子控件,这样就不需要逐个使用findViewByID来获取控件,来达到控制状态的目的了。

/**
  * 获取所有指定类型的子控件
  * @param T
  * @return
  */
 private List<View> getAllChildViews(Class<?> T) {

  View view = this.getWindow().getDecorView();

  return getAllChildViews(view, T);

 }
 private List<View> getAllChildViews(View parent, Class<?> T) {

  List<View> allchildren = new ArrayList<View>();

  if (parent instanceof ViewGroup) {

   ViewGroup vp = (ViewGroup) parent;

   for (int i = 0; i < vp.getChildCount(); i++) {

    View viewchild = vp.getChildAt(i);

    if (viewchild.getClass().equals(T)) {
     allchildren.add(viewchild);
    }

    allchildren.addAll(getAllChildViews(viewchild, T));

   }

  }

  return allchildren;
 }
相关文章
|
测试技术 iOS开发 数据格式
WDA原理分析
1、什么是WDA WebDriverAgent是Facebook 在17年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架。 下面摘录一段官方对于WebDriverAgent的介绍字段:(官方文档:https://github.com/facebook/WebDriverAgent) WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备。
12594 0
|
测试技术 API 开发工具
在Python中实现安卓手机自动化
在Python中实现安卓手机自动化
1547 0
|
8月前
|
移动开发 JSON API
1688 商品详情数据接口(H5、APP 端)
1688商品详情数据接口是1688平台提供的数据交互通道,支持H5和APP端,提供商品的全面信息(如标题、价格、库存、销量等),并实时更新。开发者可通过HTTP/HTTPS协议调用接口,使用GET或POST方法获取数据。示例代码展示了如何用Python请求该接口,需替换API密钥和商品ID。
|
测试技术 Python
【手机群控】 利用Python与uiautomator2实现
使用Python的uiautomator2库进行多设备自动化测试,涉及环境准备(Python、uiautomator2、adb连接设备)和代码实现。通过`adb devices`获取设备列表,使用多进程并行执行测试脚本,每个脚本通过uiautomator2连接设备并获取屏幕尺寸。注意设备需开启USB调试并授权adb。利用多进程而非多线程,因Python的GIL限制。文章提供了一种提高测试效率的方法,适用于大规模设备测试场景。
963 2
【手机群控】 利用Python与uiautomator2实现
|
Java iOS开发 MacOS
MacOS切换JDK版本
MacOS切换JDK版本
6179 0
|
数据采集 机器学习/深度学习 自然语言处理
nlp入门之基于贝叶斯算法的拼写错误检测器
基于贝叶斯思想简单的实现了一个拼写错误检测器
|
数据处理 Python
Python并发编程:实现高效的多线程与多进程
Python作为一种高级编程语言,提供了强大的并发编程能力,通过多线程和多进程技术,可以实现程序的并发执行,提升系统的性能和响应速度。本文将介绍Python中多线程和多进程的基本概念,以及如何利用它们实现高效的并发编程,解决实际开发中的并发性问题。
|
程序员
老程序员分享:Lua的unpack
老程序员分享:Lua的unpack
439 0
|
Python
Python 基础知识:什么是 Python 的列表解析(List Comprehension)?
Python 基础知识:什么是 Python 的列表解析(List Comprehension)?
378 1
|
Java 测试技术 C++
Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理
Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理
313 0
Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理