在 Android 应用程序中实现多个布局时,管理布局的添加和删除至关重要有效地查看。当 UI 元素之前已附加到另一个布局,并且在未经正确处理的情况下添加到新布局时,会出现错误消息“指定的子级已经有父级。您必须首先在子级的父级上调用removeView()”。
问题描述:
在提供的代码中,TextView 和 EditText 被膨胀到指定为的第二个布局中“控制台窗口。”第二次调用此布局时,尝试将 TextView 添加到新布局时遇到异常,触发错误消息。
解决方案:
解决对于这个问题,在将 TextView 添加到新布局之前,必须将其从其先前的父级(如果已附加)中删除。错误消息明确建议执行此操作。
更正的代码片段:
<code class="java">// TEXTVIEW if (tv.getParent() != null) { ((ViewGroup) tv.getParent()).removeView(tv); // Fix } layout.addView(tv); // No longer causes an error on the second run // EDITTEXT</code>
通过检查 TextView 是否有现有的父级,此代码可确保在将其从之前的布局中正确删除之前添加到新的,解决“父级已存在”问题。
以上是如何修复 Android 中的“指定的子项已经有父项”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!