when calling notifyDataSetChanged on RecyclerView it doesn\'t retain the scroll position and scrolls to top, is there any solution to retain it\'s
As I am guessing, what you are doing is resetting the adapter to the RecyclerView and then calling notifyDataSetChanged().
You need to pass only the dataList to the adapter by passing dataList in adapter method like adapter update(dataList).
And in this method you can assign this list to adapter list like;
public void update(ArrayList list){
this.mList = list;
}