【发布时间】:2022-01-02 09:49:34
【问题描述】:
如题所问,
假设我有一个layout(如Relativelayout、LinearLayout 等)和大量Views。
-
这里的情况是,我想使用
for-each方法对所有人做同样的事情。 -
问题是,您只能在
iterate符合array条件时使用for-each方法。
附:我知道你可以这样做:
for(int i=0;i<layout.getChildCount();i++){
View v=layout.getChildAt(i);
v.doSomething(parameters);
}
- 我只需要知道是否有其他方法可以使用
for-each方法,这样我就可以节省时间,而不是在我开发的每个应用程序上一遍又一遍地输入。
- 我仍然会接受答案,所以不要害羞!
【问题讨论】:
-
看起来你的问题是关于减少代码的。您可能不想切换到 Kotlin,但您可以在那里执行类似
(view as? ViewGroup)?.children?.forEach { it.doSomething(parameters) }的操作。从 N 开始,Java 也有流/lambda。请参阅:academy.realm.io/posts/…。 -
@Michael 猜得好,我不想切换到 Kotlin,我会查看那个链接。(目前正在阅读)
标签: java android android-layout foreach android-view