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; } 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; }