Remove all items from RecyclerView
This works great for me:
public void clear() { int size = data.size(); if (size > 0) { for (int i = 0; i < size; i++) { data.remove(0); } notifyItemRangeRemoved(0, size); }}
or:
public void clear() { int size = data.size(); data.clear(); notifyItemRangeRemoved(0, size);}
For you:
@Overrideprotected void onRestart() { super.onRestart(); // first clear the recycler view so items are not populated twice recyclerAdapter.clear(); // then reload the data PostCall doPostCall = new PostCall(); // my AsyncTask... doPostCall.execute();}
Avoid deleting your items in a for loop and calling notifyDataSetChanged in every iteration. Instead just call the clear method in your list myList.clear();
and then notify your adapter
public void clearData() { myList.clear(); // clear list mAdapter.notifyDataSetChanged(); // let your adapter know about the changes and reload view.}
setAdapter(null);
Useful if RecycleView have different views type