From ffbfdabb3a935c2a9ba41745f814063acb07db0a Mon Sep 17 00:00:00 2001 From: HCH <57441189+Compiledebuger@users.noreply.github.com> Date: Sun, 29 May 2022 10:51:13 +0800 Subject: [PATCH] fix commons-app#4978 (#4979) --- .../upload/UploadMediaDetailAdapter.java | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java b/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java index 9eb8fbb5d..1fbb89c38 100644 --- a/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/upload/UploadMediaDetailAdapter.java @@ -115,8 +115,16 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter e < position).count(); + this.uploadMediaDetails.remove(uploadMediaDetails.get(ListPosition)); + int i = position + 1; + while (selectedLanguages.containsKey(i)) { + selectedLanguages.remove(i); + i++; + } notifyItemRemoved(position); + notifyItemRangeChanged(position, uploadMediaDetails.size() - position); } public class ViewHolder extends RecyclerView.ViewHolder { @@ -140,6 +148,10 @@ public class UploadMediaDetailAdapter extends RecyclerView.Adapter removeDescription(uploadMediaDetail, position)); - - captionItemEditText.addTextChangedListener(new AbstractTextWatcher( - captionText -> uploadMediaDetails.get(position).setCaptionText(captionText))); + captionListener = new AbstractTextWatcher( + captionText -> uploadMediaDetails.get(position).setCaptionText(captionText)); + descriptionListener = new AbstractTextWatcher( + descriptionText -> uploadMediaDetails.get(position).setDescriptionText(descriptionText)); + captionItemEditText.addTextChangedListener(captionListener); initLanguage(position, uploadMediaDetail); - descItemEditText.addTextChangedListener(new AbstractTextWatcher( - descriptionText -> uploadMediaDetails.get(position).setDescriptionText(descriptionText))); + descItemEditText.addTextChangedListener(descriptionListener); initLanguage(position, uploadMediaDetail); //If the description was manually added by the user, it deserves focus, if not, let the user decide