From 25c6cd61d42c4d1f833f76ab5842d76ef0820963 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Mon, 22 Jun 2015 15:25:55 -0700 Subject: Ensure child is attached before performing measure/layout in Spinner Bug: 21614663 Change-Id: Id84a720fac7050d312eb2eb6f12621217c4f8d0f --- core/java/android/widget/Spinner.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java index fdabe913e80a..6abd1293edd5 100644 --- a/core/java/android/widget/Spinner.java +++ b/core/java/android/widget/Spinner.java @@ -711,9 +711,7 @@ public class Spinner extends AbsSpinner implements OnClickListener { lp = generateDefaultLayoutParams(); } - if (addChild) { - addViewInLayout(child, 0, lp); - } + addViewInLayout(child, 0, lp); child.setSelected(hasFocus()); if (mDisableChildrenWhenDisabled) { @@ -743,6 +741,10 @@ public class Spinner extends AbsSpinner implements OnClickListener { childRight = childLeft + width; child.layout(childLeft, childTop, childRight, childBottom); + + if (!addChild) { + removeViewInLayout(child); + } } @Override -- cgit v1.2.3-59-g8ed1b