У меня есть список макетов, которые я использую для создания нового макета.
Однако проблема в том, что перед добавлением макетов списка в новый макет мне нужно вызвать removeView (), так как макеты списка являются дочерними. Вызов этого метода удаляет представление из пользовательского интерфейса, который выглядит не очень хорошо.
LinearLayout linearLayout = null;
for(LinearLayout cardView : selectedCardIDList){
viewHeight += cardView.getHeight();
if(viewHeight < 842){
ViewGroup viewGroup = ((ViewGroup)cardView.getParent());
viewGroup.removeView(cardView);
linearLayout = cardView;
pdfViewLayout.addView(linearLayout);
viewGroup.addView(cardView);
}
}
pdfViewLayout - это макет, который я создаю с использованием макетов из списка.
Я пытался найти способ продублировать макет из списка, таким образом я думал, что это не помешает моему пользовательскому интерфейсу, однако вызывал ((ViewGroup)linearLayout.getParent()).removeView(linearLayout);
по-прежнему удаляет его из пользовательского интерфейса, поскольку использует тот же родительский элемент.
Есть ли способ сделать копию без родительского представления?
Спасибо
Edit - при последней попытке я снова получаю сообщение об ошибке «У ребенка уже есть родитель» в строке viewGroup.addView(cardView);