From 307a39c8cb1f99ec75e9a92923b6caa20eed1bf0 Mon Sep 17 00:00:00 2001 From: Zzhy <18375681441@163.com> Date: Wed, 17 Jun 2020 17:20:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B7=B7=E9=80=89=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E5=87=BA=E7=8E=B0=E9=95=BF=E5=BA=A6=E8=B6=85=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 混选模式下,判断图片选择长度不能用数组的总长度来判定。 例如我图片定义7张 视频定义3个 我选择了3个视频然后图片选择到第6张则会提示我图片已经超出最大选择数量 --- .../luck/picture/lib/adapter/PictureImageGridAdapter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/picture_library/src/main/java/com/luck/picture/lib/adapter/PictureImageGridAdapter.java b/picture_library/src/main/java/com/luck/picture/lib/adapter/PictureImageGridAdapter.java index 0801be151..8291b30fc 100644 --- a/picture_library/src/main/java/com/luck/picture/lib/adapter/PictureImageGridAdapter.java +++ b/picture_library/src/main/java/com/luck/picture/lib/adapter/PictureImageGridAdapter.java @@ -416,11 +416,15 @@ private void changeCheckboxState(ViewHolder contentHolder, LocalMedia image) { if (config.isWithVideoImage) { // isWithVideoImage mode int videoSize = 0; + int imageSize = 0; for (int i = 0; i < count; i++) { LocalMedia media = selectData.get(i); if (PictureMimeType.isHasVideo(media.getMimeType())) { videoSize++; } + if (PictureMimeType.isHasImage(media.getMimeType())) { + imageSize++; + } } if (PictureMimeType.isHasVideo(image.getMimeType())) { @@ -429,7 +433,7 @@ private void changeCheckboxState(ViewHolder contentHolder, LocalMedia image) { return; } - if (getSelectedSize() >= config.maxSelectNum && !isChecked) { + if (imageSize >= config.maxSelectNum && !isChecked) { showPromptDialog(context.getString(R.string.picture_message_max_num, config.maxSelectNum)); return; } From 167483a50377b71a8675dc314f15e24a78a7be83 Mon Sep 17 00:00:00 2001 From: Zzhy <18375681441@163.com> Date: Wed, 17 Jun 2020 17:22:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=B7=E9=80=89=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E5=87=BA=E7=8E=B0=E5=9B=BE=E7=89=87=E8=B6=85=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 混选模式下,判断图片选择长度不能用数组的总长度来判定。 例如我图片定义7张 视频定义3个 我选择了3个视频然后图片选择到第6张则会提示我图片已经超出最大选择数量 --- .../java/com/luck/picture/lib/PicturePreviewActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/picture_library/src/main/java/com/luck/picture/lib/PicturePreviewActivity.java b/picture_library/src/main/java/com/luck/picture/lib/PicturePreviewActivity.java index 3f8536c43..996de643e 100644 --- a/picture_library/src/main/java/com/luck/picture/lib/PicturePreviewActivity.java +++ b/picture_library/src/main/java/com/luck/picture/lib/PicturePreviewActivity.java @@ -606,11 +606,15 @@ protected void onCheckedComplete() { if (config.isWithVideoImage) { // 混选模式 int videoSize = 0; + int imageSize = 0; for (int i = 0; i < currentSize; i++) { LocalMedia media = selectData.get(i); if (PictureMimeType.isHasVideo(media.getMimeType())) { videoSize++; } + if (PictureMimeType.isHasImage(media.getMimeType())) { + imageSize++; + } } if (image != null && PictureMimeType.isHasVideo(image.getMimeType())) { if (config.maxVideoSelectNum <= 0) { @@ -619,7 +623,7 @@ protected void onCheckedComplete() { return; } - if (selectData.size() >= config.maxSelectNum && !check.isSelected()) { + if (imageSize >= config.maxSelectNum && !check.isSelected()) { showPromptDialog(getString(R.string.picture_message_max_num, config.maxSelectNum)); return; }