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