我正在开发一款适用于 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/