在Android 應用程式中實現多個佈局時,管理佈局的新增和刪除至關重要有效地查看。當UI 元素先前已附加到另一個佈局,並且在未經正確處理的情況下新增至新佈局時,會出現錯誤訊息「指定的子層級已經有父級。您必須先在子層級的父級上呼叫removeView()」。
問題描述:
在提供的程式碼中,TextView 和 EditText 擴充到指定為「ConsoleWindow」的第二個佈局中。第二次呼叫此佈局時,嘗試將 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中文網其他相關文章!