This is what a ScrollView is made for. What I do: Create the ScrollView in Activity_Create (and keep it!). Remove all views on it when needed (ScrollView.Panel.RemoveAllViews) and add them again like you want or just update them I use a Refresh Sub to do so. CustomListView does the same (as it is based on ScrollView).
Another hint: Keep all the data you want to add to the ScrollView in a List (data vs. UI) so you can access them very easy. If you need to refresh just call a sub and the ScrollView is updated based on the list. The labels you add to the ScrollView are just "containers"
Example (I'm working with %x and %y because I need the views at an exact position.
Sub UpdateSVList
DevicesListSV.Panel.RemoveAllViews 'remove all existing (previous) views on the SV's panel
Dim m As Map
For i=0 To DevicesList.Size-1 'List contains maps
m=DevicesList.Get(i)
Dim MacLBL As Label 'you can add any view you like
MacLBL.Initialize("Device")
DevicesListSV.Panel.AddView(MacLBL,1%x,i*11%y,98%x,10%y)
'do more code to adjust textsizes, etc.
Next
DevicesListSV.Panel.Height=MacLBL.Top+MacLBL.Height+5%y 'Set new height
End Sub