Reputation: 3423
Behaviour's video: (no longer available)
Removing:
viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mItemManger.removeShownLayouts(viewHolder.swipeLayout);
mDataset.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, mDataset.size());
mItemManger.closeAllItems();
Toast.makeText(view.getContext(), "Deleted " + viewHolder.textViewPos.getText().toString() + "!", Toast.LENGTH_SHORT).show();
}
});
How can I fix this?
Notes: I'm using this library, and I have the libraries updated.
Update:
viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mItemManger.removeShownLayouts(viewHolder.swipeLayout);
mResultArray.remove(position);
notifyItemRangeChanged(position, mResultArray.size());
notifyItemRemoved(position);
mItemManger.closeAllItems();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
notifyDataSetChanged();
}
}, 500);
}
});
Upvotes: 1
Views: 1586
Reputation:
RecyclerView must have layout_height="match_parent"
. Had the same issue with the last item disappearing and reappearing driving me crazy.
Upvotes: 12
Reputation: 2013
I think you should call notifyItemRangeRemoved(position, 1);
instead.
Upvotes: 3