From 8f770d38d11680569d4a41f7428b398deb6f46c3 Mon Sep 17 00:00:00 2001 From: Julian Winkler Date: Wed, 27 Mar 2024 22:47:11 +0100 Subject: [PATCH] implement ViewGroup.removeViewInLayout() --- src/api-impl/android/view/ViewGroup.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/api-impl/android/view/ViewGroup.java b/src/api-impl/android/view/ViewGroup.java index 63f34680..4b755efa 100644 --- a/src/api-impl/android/view/ViewGroup.java +++ b/src/api-impl/android/view/ViewGroup.java @@ -83,7 +83,10 @@ public class ViewGroup extends View implements ViewParent, ViewManager { return true; } - public void removeView(View child) { + // This internal method is used to share code between removeView and removeViewInLayout. + // Reusing removeView in removeViewInLayout is not possible, because e.g. + // ViewPager overrides removeView to call removeViewInLayout + protected void removeViewInternal(View child) { if (child.parent != this) return; child.parent = null; @@ -94,6 +97,14 @@ public class ViewGroup extends View implements ViewParent, ViewManager { } } + public void removeView(View child) { + removeViewInternal(child); + } + + public void removeViewInLayout(View child) { + removeViewInternal(child); + } + public void removeViewAt(int index) { removeView(children.get(index)); }