diff options
| author | 2015-06-22 15:25:55 -0700 | |
|---|---|---|
| committer | 2015-06-22 15:25:55 -0700 | |
| commit | 25c6cd61d42c4d1f833f76ab5842d76ef0820963 (patch) | |
| tree | 1736db002e719d9f36dce93c5111ea45b24c353a | |
| parent | b5a479c1f08c8ea41a1523695bc482c79ed4ea54 (diff) | |
Ensure child is attached before performing measure/layout in Spinner
Bug: 21614663
Change-Id: Id84a720fac7050d312eb2eb6f12621217c4f8d0f
| -rw-r--r-- | core/java/android/widget/Spinner.java | 8 |
1 files 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 |