diff options
| author | 2014-10-20 19:00:35 +0000 | |
|---|---|---|
| committer | 2014-10-20 19:00:36 +0000 | |
| commit | e28cd1a276d64d697da89cac4941baf79f380f6c (patch) | |
| tree | 80e7d44d78d43d802fb379b3c3ef60e1f3e04a8f | |
| parent | 846b71daaf4468c01e5371ee64e19327f7c094f1 (diff) | |
| parent | 177ec4608e919b309ec98ba8272cc1a16d1277e3 (diff) | |
Merge "Only request layout when removeView() actually removes a view" into lmp-mr1-dev
| -rw-r--r-- | core/java/android/view/ViewGroup.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 7538dffa59f6..134171a350aa 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -4078,9 +4078,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * {@link #dispatchDraw(android.graphics.Canvas)} or any related method.</p> */ public void removeView(View view) { - removeViewInternal(view); - requestLayout(); - invalidate(true); + if (removeViewInternal(view)) { + requestLayout(); + invalidate(true); + } } /** @@ -4143,11 +4144,13 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager invalidate(true); } - private void removeViewInternal(View view) { + private boolean removeViewInternal(View view) { final int index = indexOfChild(view); if (index >= 0) { removeViewInternal(index, view); + return true; } + return false; } private void removeViewInternal(int index, View view) { |