android - 尝试在没有父视图的情况下复制视图 - Android
问题描述
我有一个用于生成新布局的布局列表。
但是问题是,在将列表布局添加到新布局之前,我需要调用 removeView(),因为列表布局是子布局。调用此方法会从 UI 中删除看起来不太好的视图。
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 是我使用列表中的布局构建的布局。
我试图找到一种从列表中复制布局的方法,这样我认为它不会干扰我的 UI,但是调用((ViewGroup)linearLayout.getParent()).removeView(linearLayout);
仍然会从 UI 中删除它,因为它使用的是同一个父级。
有没有办法可以在没有父视图的情况下进行复制?谢谢
viewGroup.addView(cardView);
编辑 - 在我最近的尝试中,我再次遇到“孩子已经有父母”错误
解决方案
你可以这样做
- 创建一个空视图
View duplicateview = new View();
- 将目标视图复制到您创建的新视图
view = "get your target view that you need to duplicate"//your view
- 因此,您要查找的视图在
duplicateview
.
推荐阅读
- asp.net-core - HubContext的单元测试.net core 2.2 SignalR集线器问题
- c++ - 更新的包,现在用 -O0 编译的 Mex 文件是“无效的 mex 文件”?
- apache-kafka - 使用窗口翻转时如何从 KSQL 流中获取最后一个值
- google-bigquery - 将数据流式传输到 Google BigQuery 表中:使用 InsertId 去重复记录的问题
- php - PHP 回声循环正在破坏 CSS 弹性框
- r - 如何按秒间隔对数据进行分组?
- excel - 粘贴或删除时出现 VBA Vlookup 运行时错误
- c++ - 自定义char二维数组排序函数
- javascript - 自动更改用户编辑时的单元格背景 - Google 表格
- amazon-ec2 - 使用热点 wifi 时,我无法 ssh 进入我的 ec2