正如標題所問,
Suppposed,我有一個layout(如Relativelayout,LinearLayout等),一噸不少Views。
這里的情況是我想使用一種
for-each方法對他們所有人做同樣的事情。問題是,您只能
iterate在該for-each方法符合array.
PS我知道你可以這樣做:
for(int i=0;i<layout.getChildCount();i ){
View v=layout.getChildAt(i);
v.doSomething(parameters);
}
- 我只需要知道是否有另一種使用該
for-each方法的方法,這樣我就可以節省時間,而不是在我開發的每個應用程式上一遍又一遍地輸入。
- 我仍然會接受答案,所以不要害羞!
uj5u.com熱心網友回復:
為什么不創建一個輔助方法,如:
public final class ViewGroupHelper {
public static void forEach(@NonNull ViewGroup group,
@NonNull Action action) {
for (int i = 0; i < group.getChildCount(); i ) {
final View view = group.getChildAt(i);
action.apply(view);
}
}
public interface Action {
void apply(@NonNull View view);
}
private ViewGroupHelper() {}
}
...
ViewGroupHelper.forEach(layout, new ViewGroupHelper.Action() {
@Override
public void apply(@NonNull View view) {
view.doSomething();
}
});
或使用 lambda ViewGroupHelper.forEach(layout, view -> view.doSomething());
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/401109.html
標籤:爪哇 安卓 安卓布局 foreach android-view
