Keep selectedItems up-to-date safely (behaviour was undefined before?)
This commit is contained in:
parent
4845300730
commit
083f340f29
1 changed files with 9 additions and 2 deletions
|
@ -190,12 +190,19 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
|
|||
public void remove(int position) {
|
||||
this.values.remove(position);
|
||||
this.notifyItemRemoved(position);
|
||||
|
||||
// keep selectedItems updated so we know what to notifyItemChanged
|
||||
// (instead of just using notifyDataSetChanged)
|
||||
Set<Integer> temp = new TreeSet<>();
|
||||
for (int selected : selectedItems) {
|
||||
if (selected > position) {
|
||||
selectedItems.remove(selected);
|
||||
selectedItems.add(selected - 1);
|
||||
temp.add(selected - 1);
|
||||
} else {
|
||||
temp.add(selected);
|
||||
}
|
||||
}
|
||||
selectedItems.clear();
|
||||
selectedItems.addAll(temp);
|
||||
}
|
||||
|
||||
public void toggleSelection(int position, View view) {
|
||||
|
|
Loading…
Reference in a new issue