diff --git a/library/src/main/java/com/hhl/library/FlowTagLayout.java b/library/src/main/java/com/hhl/library/FlowTagLayout.java index a8b7e53..9242c1f 100644 --- a/library/src/main/java/com/hhl/library/FlowTagLayout.java +++ b/library/src/main/java/com/hhl/library/FlowTagLayout.java @@ -61,6 +61,11 @@ public class FlowTagLayout extends ViewGroup { */ private int mTagCheckMode = FLOW_TAG_CHECKED_NONE; + /** + * 标签流式布局最多选中Tag数,默认为Integer.MAX_VALUE + */ + private int mMaxSelectTagNum = Integer.MAX_VALUE; + /** * 存储选中的tag */ @@ -268,6 +273,15 @@ public void onClick(View v) { mCheckedTagArray.put(j, false); childView.setSelected(false); } else { + int selectTagNum = 0; + for (int k = 0; k < mAdapter.getCount(); k++) { + if (mCheckedTagArray.get(k)) { + selectTagNum++; + } + } + if (selectTagNum >= mMaxSelectTagNum) { + return; + } mCheckedTagArray.put(j, true); childView.setSelected(true); } @@ -332,4 +346,13 @@ public int getmTagCheckMode() { public void setTagCheckedMode(int tagMode) { this.mTagCheckMode = tagMode; } + + /** + * 设置最多可选标签数 + * + * @param num + */ + public void setMaxSelectTagNum(int num) { + this.mMaxSelectTagNum = num; + } }