我想在Android Studio中删除相对布局上的所有图像视图,保存它们并在以后替换它们。
MotionEvent
该程序无效:(
答案 0 :(得分:2)
使用instanceof
查找视图组中的所有图像视图。完成所有操作后,从视图组中删除图像。然后,你可以在这些图像上做任何你需要做的工作:
final ViewGroup vg = (ViewGroup) findViewById(R.id.relativeLayout);
final List<ImageView> images = new ArrayList<>();
for(int i = 0; i < vg.getChildCount(); i++) {
final View v = vg.getChildAt(i);
if (v instanceof ImageView) {
images.add((ImageView) v);
}
}
for (final ImageView v : images) {
vg.removeView(v);
}
当java 8滚动时,我想我们可以做这样的事情:
final ViewGroup vg = (ViewGroup) findViewById(R.id.relativeLayout);
final List<ImageView> images = IntStream()
.range(0, vg.getChildCount())
.mapToObj(vg::getChildAt)
.filter(ImageView.class::isInstance)
.map(ImageView.class::cast)
.collect(Collectors.toList());
images.stream().forEach(vg::removeView);