Sub Process_Globals
Dim tm As Timer
Dim n_item As Long
Dim min_item As Long
Dim ultimo_item As Long
End Sub
Sub Globals
Private CustomList As CustomListView 'I believe in the designer LayoutMain
Private CardView As CardView 'I believe in the designer LayoutCellItem
Dim STR As AHSwipeToRefreshMulti 'I believe in the designer LayoutMain
Private PanelListView As Panel 'I believe in the designer LayoutMain
Dim RV As RippleView
Dim RVCARD As RippleView
Private ButtonVerMas As Button 'I believe in the designer LayoutMscard
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("LayoutMain")
PanelListView.RemoveView
STR.AddView(PanelListView)
'STR.SetColorScheme2(Array As Int (Colors.Red, Colors.Blue, Colors.Green, Colors.Cyan, Colors.Magenta, Colors.Yellow))
STR.SetColorScheme2(Array As Int (Colors.rgb(192,202,51)))
ProgressDialogShow2("Cargando, espere...", False)
n_item = 10
min_item = 1
ultimo_item = 1
Dim l As List
l.Initialize
l.Add(CustomList.AsView)
STR.SwipeableChilden = l
CargaLista
End Sub
Sub CreateListItem(Text As String, Width As Int, Height As Int) As Panel
Dim p As Panel
p.Initialize("")
'we need to add the panel to a parent to set its dimensions. It will be removed after the layout is loaded.
Activity.AddView(p, 0, 0, Width, Height)
p.LoadLayout("LayoutCellItem")
CardView.LoadLayout("LayoutMscard")
RVCARD.Initialize(CardView, Colors.rgb(207,216,220), 200, True)
'RV.Initialize(ButtonVerMas, Colors.rgb(94,53,177), 200, True)
p.RemoveView
'label1 and button1 will point to the last added views.
Return p
End Sub
Sub CargaLista
Sleep(500)
For i = min_item To n_item
CustomList.Add(CreateListItem($"Item #${i}"$, CustomList.AsView.Width, 70dip), 74dip, $"Item #${i}"$)
Next
ProgressDialogHide
min_item = n_item
End Sub
Sub CustomList_ReachEnd
Log("reach end")
ultimo_item = 2
'CustomList.AddTextItem("New item!!!", "")
STR.Refreshing = True
STR_Refresh
End Sub
Sub STR_Refresh
Log("Refresh started")
'CustomList.Clear
'Start the timer. Normally you will start your asynchronous job here
tm.Initialize("Timer", 2000)
tm.Enabled = True
'Disable the STR object so we can not start a new refresh process
STR.Enabled = True
End Sub
'The timer tick simulates the end of the refreshing process
Sub Timer_Tick
Log("Refresh stopped")
'Stop Timer and refresh the listview data
tm.Enabled = False
If ultimo_item == 2 Then
n_item = n_item + 10
min_item = min_item + 1
Log("Item a Agregar: " & n_item)
Else
CustomList.Clear
min_item = 1
End If
ultimo_item = 1
CargaLista
'Stop the spinning disc and enable the STR object again.
STR.Refreshing = False
STR.Enabled = True
End Sub
Sub ButtonVerMas_Click
Dim index As Int = CustomList.GetItemFromView(Sender)
ToastMessageShow("Checked items: " & CustomList.GetValue(index), False)
End Sub