You can try looking at the cacheExtent property on listview builder as well. Setting that to a value to cover your items will keep them all alive.
Thanks to Remi above. I had no idea the items needed keepAlive when using it on the list - that was not in the flutter doco previously...