B4A=true Group=Default Group ModulesStructureVersion=1 Type=Activity Version=9 @EndOfDesignText@ #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. Private y As XUI Type VenueValue (lblVenueID As Label,lblVenue As Label,lblPhoneNumber As Label, lblAddress1 As Label, lblAddress2 As Label,lblAddress3 As Label, lblCity As Label ,lblPostCode As Label ) 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 lvVenues As CustomListView Private lblVenue As Label Private lblPhoneNumber As Label Private lblAddress1 As Label Private lblAddress2 As Label Private lblAddress3 As Label Private lblCity As Label Private lblPostCode As Label Private lblVenueID As Label 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("Venues") DownloadVenues End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub Sub lvVenues_ItemClick (Index As Int, Value As Object) End Sub Sub DownloadVenues Dim j As HttpJob j.Initialize("", Me) 'name is empty as it is no longer needed j.Download("https://ebcevents.uk/getvenues.php?k=488b4cfe96151b639d664c300da8b34671db40f4") ProgressDialogShow2("Downloading....", False) Wait For (j) JobDone(j As HttpJob) If j.Success Then 'The result is a json string. We parse it and log the fields. Log(j.GetString) Dim jp As JSONParser jp.Initialize(j.GetString) Dim v As List = jp.NextArray For Each venue As Map In v Dim iv As VenueValue iv.Initialize lvVenues.Add(CreateItem(venue.Get("VenueID"),venue.Get("VenueName"),venue.Get("PhoneNumber"),venue.Get("Address1"),venue.Get("Address2"), venue.Get("Address3"), venue.Get("City"), venue.Get("PostCode"),iv),iv) Log("Venue: " & venue.Get("VenueName")) Next Else Log("Error: " & j.ErrorMessage) End If ProgressDialogHide j.Release End Sub private Sub CreateItem(VenueID As String,VenueName As String, PhoneNumber As String, Address1 As String,Address2 As String, Address3 As String, City As String, PostCode As String ,iv As VenueValue) As B4XView Dim p As B4XView = y.CreatePanel("") Dim m As Map m.Initialize p.SetLayoutAnimated(0,0,0,100%x,200dip) p.loadlayout("venueItem") lblVenue.Text=VenueName lblPhoneNumber.Text=PhoneNumber lblAddress1.Text = Address1 lblAddress2.Text = Address2 lblAddress3.Text = Address3 lblCity.Text = City lblPostCode.Text = PostCode lblVenueID.Text = VenueID iv.LblVenue = lblVenue iv.lblVenueID = lblVenueID iv.lblPhoneNumber = lblPhoneNumber iv.lblAddress1 = lblAddress1 iv.lblAddress2 = lblAddress2 iv.lblAddress3 = lblAddress3 iv.lblCity = lblCity iv.lblPostCode = lblPostCode Return p End Sub