diff options
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/widget/ButtonGroup.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/widget/ButtonGroup.java b/core/java/android/widget/ButtonGroup.java index ce3decb..6af1c7e 100644 --- a/core/java/android/widget/ButtonGroup.java +++ b/core/java/android/widget/ButtonGroup.java @@ -110,8 +110,13 @@ public class ButtonGroup extends LinearLayout { return; } mDivider = divider; - mDividerWidth = divider.getIntrinsicWidth(); - mDividerHeight = divider.getIntrinsicHeight(); + if (divider != null) { + mDividerWidth = divider.getIntrinsicWidth(); + mDividerHeight = divider.getIntrinsicHeight(); + } else { + mDividerWidth = 0; + mDividerHeight = 0; + } requestLayout(); } @@ -204,6 +209,11 @@ public class ButtonGroup extends LinearLayout { @Override public void dispatchDraw(Canvas canvas) { + if (mDivider == null) { + super.dispatchDraw(canvas); + return; + } + final boolean begin = (mShowDividers & SHOW_DIVIDER_BEGINNING) == SHOW_DIVIDER_BEGINNING; final boolean middle = (mShowDividers & SHOW_DIVIDER_MIDDLE) == SHOW_DIVIDER_MIDDLE; final boolean end = (mShowDividers & SHOW_DIVIDER_END) == SHOW_DIVIDER_END; |