Skip to content

Commit

Permalink
修復 #25 BUG
Browse files Browse the repository at this point in the history
  • Loading branch information
qstumn committed Sep 23, 2017
1 parent f222a6b commit e4e85e1
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion badgeviewlib/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ publish {
userOrg = 'qstumn'
groupId = 'q.rorbin'
artifactId = 'badgeview'
publishVersion = '1.1.2'
publishVersion = '1.1.3'
desc = 'android badgeview can drag dismiss like QQ'
website = 'https://github.com/qstumn/BadgeView'
}
Expand Down
16 changes: 13 additions & 3 deletions badgeviewlib/src/main/java/q/rorbin/badgeview/QBadgeView.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Parcelable;
import android.text.TextPaint;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.util.SparseArray;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.FrameLayout;
import android.widget.RelativeLayout;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -153,8 +155,9 @@ public Badge bindTarget(final View targetView) {
ViewGroup.LayoutParams targetParams = targetView.getLayoutParams();
targetContainer.removeView(targetView);
final BadgeContainer badgeContainer = new BadgeContainer(getContext());
badgeContainer.setId(targetView.getId());
targetView.setId(View.NO_ID);
if(targetContainer instanceof RelativeLayout){
badgeContainer.setId(targetView.getId());
}
targetContainer.addView(badgeContainer, index, targetParams);
badgeContainer.addView(targetView);
badgeContainer.addView(this);
Expand Down Expand Up @@ -827,6 +830,13 @@ public PointF getDragCenter() {

private class BadgeContainer extends ViewGroup {

@Override
protected void dispatchRestoreInstanceState(SparseArray<Parcelable> container) {
if(!(getParent() instanceof RelativeLayout)){
super.dispatchRestoreInstanceState(container);
}
}

public BadgeContainer(Context context) {
super(context);
}
Expand Down

0 comments on commit e4e85e1

Please sign in to comment.