Android Question B4XPreferenceDialog I cant add the result in a List.

Status
Not open for further replies.

Brian Michael

Active Member
Licensed User
Hi im tryin to make a Form Request and add in a list.

I have this code:

B4X:
#Region  Project Attributes
    #ApplicationLabel: B4A Example
    #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
    Private xui As XUI
    Private OptionsFile As String = "options2.map"
End Sub

Sub Globals
    Private prefdialog As PreferencesDialog
    Private TextArea1 As B4XView
    Private Options1 As Map
    Public newClientsRequest As List
    Private ListView1 As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("1")
    prefdialog.Initialize(Activity, "SOLICITUD : NUEVO CLIENTE", 300dip, 400dip)
    Options1.Initialize
    xui.SetDataFolder ("preferences")
    prefdialog.LoadFromJson(File.ReadString(File.DirAssets, "form_newclient.json"))
    prefdialog.SetOptions("city", File.ReadList(File.DirAssets, "cities.txt"))
    prefdialog.SetOptions("state", File.ReadList(File.DirAssets, "states.txt"))
    newClientsRequest.Initialize
    LoadSavedData

End Sub

Sub SaveData
    Dim ser As B4XSerializator
    File.WriteBytes(xui.DefaultFolder, OptionsFile, ser.ConvertObjectToBytes(newClientsRequest))
End Sub

Sub LoadSavedData
    Try
        
        If File.Exists(xui.DefaultFolder, OptionsFile) Then
            Dim ser As B4XSerializator
            Dim opt() As Object = ser.ConvertBytesToObject(File.ReadBytes(xui.DefaultFolder, OptionsFile))
            For Each client As Map In opt
                newClientsRequest.Add(client)
            Next
            LoadAllClientList
        End If
    Catch
        Log(LastException)
    End Try
End Sub

Sub btnOptions1_Click
    Wait For (prefdialog.ShowDialog(Options1, "OK", "CANCEL")) Complete (Result As Int)
    If Result = xui.DialogResponse_Positive Then
        newClientsRequest.Add(Options1)
        ListView1.AddSingleLine2(Options1.Get("name"),Options1)
        PrintClient(Options1)
        Options1.Clear
    End If
    'LoadAllClientList
End Sub


Sub PrintClient (Options As Map)
    Dim sb As StringBuilder
    sb.Initialize
    For Each key As String In Options.Keys
        If key = "" Then Continue 'separators
        sb.Append(key).Append(": ").Append(Options.Get(key)).Append(CRLF)
    Next
    TextArea1.Text = sb.ToString
End Sub

Sub LoadAllClientList
    ListView1.Clear
    For Each client As Map In newClientsRequest
        ListView1.AddSingleLine(client.Get("name"))
        Log(client)
    Next
    
End Sub
Private Sub ListView1_ItemClick (Position As Int, Value As Object)
    PrintClient(newClientsRequest.Get(Position))
    Log(newClientsRequest)
    Log(newClientsRequest.Get(Position))
End Sub

And when i try to get the item, the list its empty:






But the list doesnt add the item.
Help!
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…