Вот несколько различных способов сделать это.
Удалите все представления из вашего ConstraintLayout
Все подклассы ViewGroup
поддерживают метод removeAllViews()
.Это удалит всех дочерних элементов, находящихся в данный момент в ViewGroup, поэтому это подходит только в том случае, если вы хотите избавиться от всего .Если есть некоторые виды, которые вы хотите сохранить, это не сработает.
Отслеживайте ImageViews по мере их добавления, а затем удаляйте их по одному
Возможно, вы сохранитеList<ImageView> images
переменная где-то, и когда вы добавляете изображения в свой ConstraintLayout, вы также вызываете images.add(myImageView)
.После этого вы получите коллекцию представлений, с которыми вы можете перебирать и вызывать removeView()
on:
for (ImageView image : images) {
constraintLayout.removeView(image);
}
Повторно надуть исходную ConstraintLayout
Если вы не хотите использовать removeAllViews()
и вы также не хотите отслеживать все представления, чтобы потом их можно было удалить, вы можете повторно инициализировать ConstraintLayout, повторно взвинчивая исходный макет.
LayoutInflater inflater = LayoutInflater.from(this); // requires a `Context` object
constraintLayout = inflater.inflate(R.layout.constraint_layout, parent, false);