循环遍历 Android 视图的所有子视图?

2024-01-01

我正在开发一款 Android 游戏。为了帮助实现它,我的想法是创建视图的子类。然后,我将插入此类的几个实例作为主视图的子视图。每个实例都会处理按下时的检测(通过 OnTouchListener)。

我现在遇到的问题是如何循环遍历所有这些子视图,以便读取它们的状态并处理它们? (即,当它们都达到某种状态时,就会发生一些事情)。

或者是否有更好的方法让屏幕上有多个响应触摸的对象并且我可以检查其状态?


我做了一个递归函数的小例子:

public void recursiveLoopChildren(ViewGroup parent) {
        for (int i = 0; i < parent.getChildCount(); i++) {
            final View child = parent.getChildAt(i);
            if (child instanceof ViewGroup) {
                recursiveLoopChildren((ViewGroup) child);
                // DO SOMETHING WITH VIEWGROUP, AFTER CHILDREN HAS BEEN LOOPED
            } else {
                if (child != null) {
                    // DO SOMETHING WITH VIEW
                }
            }
        }
    }

该函数将开始循环遍历 a 内的所有视图元素ViewGroup(从第一项到最后一项),如果一个孩子是ViewGroup然后使用该子项重新启动该函数以检索该子项内的所有嵌套视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环遍历 Android 视图的所有子视图? 的相关文章

随机推荐

  • 如何配置播放框架以将我的工件存储库用于所有依赖项?

    我正在尝试添加一个本地 Maven 存储库 该存储库是我使用用于缓存 Maven 存储库的神器设置的 继依赖指令 http www playframework org documentation 1 2 3 dependency我已经找到了
  • 平衡二叉搜索树

    我需要构建一个平衡二叉搜索树 到目前为止 我的程序插入了从 1 到 26 的数字 但我的程序没有将其构建成平衡二叉搜索树 如果有人可以查看我的代码并帮助我 我将不胜感激 public class TreeNode TreeNode left
  • 如何在 UML 类图中显示私有继承关系

    在 C 中 由于私有继承不被视为is a关系 它应该如何在类图中显示以及是否显示为has a那么如何区分组合和私有继承呢 它应该是一个组合关系 子类一侧的实心黑色菱形 因为 私有继承的意思是 根据 实现 但在这方面它可以简单地视为与 具有
  • Solr 查询过滤文档,数组中至少有一个值(指定值除外)

    有没有一种方法可以过滤查询 这样我将获得具有特定数组字段的文档 其中包含除我传递的值之外的至少一个其他值 例如我有 3 个文档
  • 在 IEquatable 实现中需要进行引用检查

    我有一个实现的类IEquatable
  • 计算 Mandelbrot 集以获得更高的精度

    是否有任何实用的方法来执行计算 例如涉及生成曼德尔布罗特集以精确计算值的计算double or long double可以提供 我正在考虑可能有两个变量 双精度或长整型 一个存储类似于科学记数法的值 另一个存储该值的负 log10 但我不确
  • Linux 上有对应的 WinSCP 吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 I love WinSCP https en wikipedia org wiki WinSCP对于 Windows Linux 上最好的
  • 如何截断浮点值?

    我想从浮点数中删除数字 以便在点后有固定数量的数字 例如 1 923328437452 1 923 我需要作为字符串输出到另一个函数 而不是打印 另外我想忽略丢失的数字 而不是四舍五入 round 1 923328437452 3 See
  • 获取从 PubSub 事件触发的 Google Cloud Functions 的执行 ID

    对于从 HTTP 触发的 Google Cloud Functions 可以通过检查 HTTP 请求的标头来检索执行 ID Function Execution Id package p import fmt net http func F
  • Angular 2.0.2 - 静态解析符号值时遇到错误

    在运行 i18n 时 我还遇到了著名的错误 静态解析符号值时遇到错误 不支持函数调用 请考虑将函数或 lambda 替换为对导出函数的引用 解析符号 我已经做了很多研究 而且我没有使用 lambda 函数 当我将以下导入语句添加到我的基本模
  • 这是“十分之一”的重写时间吗?

    如果可以避免的话 我非常反对重写应用程序 我理解这样的规则 十分之九 最好进行重构 但我所处的情况可能是十分之一 我正在寻找这条线 目前的情况是 我接手了一个 VB6 SQL 应用程序的维护 总代码行数为 75 100k 代码隐藏 模块和类
  • Haskell 运算符与函数优先级

    我正在尝试为自己验证一些关于 Haskell 中运算符和函数优先级的内容 例如下面的代码 list map foo xs 可以重写为 list map foo xs 并且最终将是 list map foo xs 我曾经的问题是 为什么第一个
  • C语言中的UDP广播

    当我通过下面的代码广播消息时 主机上的服务器也收到该消息 如何防止主机接收其发送的消息 是否可以更改代码上的某些内容 或者使用类似的内容会更好if strcmp hostIP IP of the package 0
  • 如何使用 Java 和 XmlSchema Core 解析 XSD 并读取所有复杂元素及其子元素

    我正在使用Apache XmlSchema Core库来解析XSD文件并获取所有元素及其子类型 数据类型 maxOccurs 等 我正在关注文档Apache XML 架构核心 http ws apache org xmlschema xml
  • 我想用 Proguard 混淆 AndroidManifest.xml

    我可以使用 Proguard 混淆 AndroidManifest xml 文件吗 我想在我的 proguard config 文件中写入源代码 adaptresourcefilenames AndroidManifest xml 但这没用
  • 进度条会减慢应用程序速度吗?

    当我有进度条时 与没有进度条的启动相比 我的应用程序启动需要更长的时间 有可能吗 或者这只是视觉效果 我想 并且也注意到 进度条的创建和修改需要一些时间 时间开销对于长时间运行的操作不太重要 但对于短时间操作 几秒 来说很明显 然而 我更喜
  • 共享元素活动过渡动画中的 Z 顺序

    我正在使用与此类似的代码制作一些基本的共享元素活动转换动画 Intent i new Intent AnActivity this AnotherActivity class ActivityOptionsCompat options Ac
  • Opentok 屏幕共享音频

    我尝试使用 opentok JS 客户端创建一个屏幕共享应用程序 该应用程序也共享发布者的音频 屏幕共享工作正常 但音频从未被共享 现在 我注意到控制台 Firefox 中有一条警告说Invalid audioSource passed t
  • Jupyter nbconvert LaTex 导出主题

    我正在使用 Jupyter Notebook nbconvert 另存为菜单 通过 Latex 导出为 pdf 然而 pdf 文件的状态并不好 例如 一些宽表显示得很好 我希望有一个用于将表格大小调整为页面宽度的框 是否有任何样式 模板可以
  • 循环遍历 Android 视图的所有子视图?

    我正在开发一款 Android 游戏 为了帮助实现它 我的想法是创建视图的子类 然后 我将插入此类的几个实例作为主视图的子视图 每个实例都会处理按下时的检测 通过 OnTouchListener 我现在遇到的问题是如何循环遍历所有这些子视图