android - 循环遍历Android View 的所有 subview ?

标签 android view viewgroup android-viewgroup

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

我现在遇到的问题是如何遍历所有这些 subview ,以便读取它们的状态并进行处理? (即,当他们都达到某种状态时,应该发生一些事情)。

或者有没有更好的方法在屏幕上显示多个响应触摸的对象以及我可以检查它们的状态?

最佳答案

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

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
                }
            }
        }
    }

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

关于android - 循环遍历Android View 的所有 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2597230/

相关文章:

c# - Unity 5- GUI 文本字段在 Android Build 上无法正常工作(由于某种原因,皮肤无法正常工作,我无法更改文本)

javascript - 更改配置后通过WebView和JS函数调用JavascriptInterface方法经常不起作用

mysql - 是否可以在 View 中使用对称键?

java - Android - LinearLayout不添加自定义 View

android - 单击按钮动态添加布局并从布局中获取文本?

android - ListView 平滑滚动,直到项目位于顶部

Android OCR 库

ios - 如何替换使用 unwind Segue 后弹出的确切 View ?

Android 在 PreferenceActivity 中获取 Preference View

java - Android 将原始源类复制到自定义类