Sub xclv_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
Dim ExtraSize As Int = 10
Log(FirstIndex & "," & LastIndex)
For ii = Max (0, FirstIndex - ExtraSize) To Min(LastIndex + ExtraSize, xclv.Size - 1)
Dim p As B4XView
p = xclv.GetPanel(ii)
If ii >= FirstIndex - ExtraSize And ii <= LastIndex + ExtraSize Then
If p.NumberOfViews = 0 Then
p.LoadLayout("2")
Dim btn As Button = p.GetView(0).GetView(2)
Dim img As ImageView = p.GetView(0).GetView(0)
Dim crd As Cards
crd.Initialize
crd = xclv.GetValue(ii)
btn.Text = crd.text
img.SetImage(xui.LoadBitmap(File.DirAssets, crd.Image))
End If
Else
If p.NumberOfViews > 0 Then
p.RemoveAllViews
End If
End If
Next
End Sub