Fixes messed up header view after notifyDataSetChanged() from listadapter

After notifyDataSetChanged() from LIstAdapter container view is triggered to relayout all children including header view. During relayout it does not keep offset but sets top position based on gravity to 0. After relayout Helper class is notified about new scroll and listview top visible position is not changed so we can just check for that. If header view top position is 0 but previous top position was <0 and listview first visible position haven't changed we can set header offset to last top position.