#Region Project Attributes
#ApplicationLabel: Multi Level Menu
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim mymenuList As List
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private ListView1 As ListView
Private btnBack As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("lyt1")
mymenuList.Initialize
'THE MENU STRUCTURE
'GroupID, ParentID, Link Text, Link URL, Child ID / empty string
mymenuList.Add(Array As String("0","-1","Vinayagar >","","2"))
mymenuList.Add(Array As String("0","-1","Murugan","#link2",""))
mymenuList.Add(Array As String("0","-1","Shiva >","","1"))
mymenuList.Add(Array As String("0","-1","Other Songs","#link3",""))
mymenuList.Add(Array As String("0","-1","Menu Level 1 >","","3"))
mymenuList.Add(Array As String("1","0","Shiva song 1","#link4",""))
mymenuList.Add(Array As String("1","0","Shiva song 2","#link5",""))
mymenuList.Add(Array As String("2","0","Vinayagar song 1","#link",""))
mymenuList.Add(Array As String("2","0","Vinayagar song 2","#link",""))
mymenuList.Add(Array As String("3","0","Menu Level 2 >","","4"))
mymenuList.Add(Array As String("4","3","Song","#",""))
FillTheListBox("0")
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub ListView1_ItemClick (Position As Int, Value As Object)
Dim parseValue() As String
Dim childId As String
Dim idToFill As String
parseValue = Value
childId = parseValue(4)
Log(childId & "Child ID")
idToFill = childId
'clear list only if the groupid is not empty
If childId == "" Then
'Link is available and work with that link
Log("a link clicked from list view" & parseValue(3))
Else
FillTheListBox(idToFill)
End If
End Sub
Sub backButtonPressed
If ListView1.Tag = "-1" Then
Log("You are on root menu")
Else
FillTheListBox(ListView1.Tag)
End If
End Sub
Sub btnBack_Click
'Log("Return to the id " & ListView1.Tag)
backButtonPressed
End Sub
Sub FillTheListBox(groupID As String)
Dim eachItemMenu() As String
'clear the list
ListView1.clear
For i = 0 To mymenuList.Size - 1
Log(groupID)
eachItemMenu = mymenuList.Get(i)
If eachItemMenu(0) == groupID Then
ListView1.AddSingleLine2(eachItemMenu(2),eachItemMenu)
ListView1.Tag = eachItemMenu(1)
End If
Next
End Sub