Hola, soy Miguel, llevo algún tiempo consultando cosas por aqui, pero nunca habia preguntado.
Tengo un problema, espero podais ayudarme.
Estoy recuperando la información de los contactos con la libreria Contacts2,
El problema es que si no pongo el doevents despues de cada registro la progressbar (PbContacts) no se actualiza y al usuario puede parecerle que la aplicación este frita. (por lo que he leido no es bueno utilizar doevents tantas veces)
Que puedo hacer para mostrarle algo al usuario sin utilizar Doevents ?
Gracias
Tengo un problema, espero podais ayudarme.
Estoy recuperando la información de los contactos con la libreria Contacts2,
B4X:
Dim Contacts2 As Contacts2
Dim listOfContacts As List
listOfContacts = Contacts2.GetAll(True,False)
If listOfContacts.Size > 0 Then
PanelContacts.Visible = True
DoEvents
Dim i as Int
For i = 0 To listOfContacts.Size - 1
Dim pc As Int
pc = (i * 100) / listOfContacts.Size
If pc > 100 Then
PbContacts.Progress = 100
Else
PbContacts.Progress = pc
End If
Dim Contact As Contact
Contact = listOfContacts.Get(i)
' Log(Contact) 'will print the fields to the LogCat
Dim emails As Map
emails = Contact.GetEmails
' If emails.Size > 0 Then Log("Email addresses: " & emails)
Dim phones As Map
phones = Contact.GetPhones
' If phones.Size > 0 Then Log("Phone numbers: " & phones)
' DoEvents
Next
PanelContacts.Visible = False
end if
El problema es que si no pongo el doevents despues de cada registro la progressbar (PbContacts) no se actualiza y al usuario puede parecerle que la aplicación este frita. (por lo que he leido no es bueno utilizar doevents tantas veces)
Que puedo hacer para mostrarle algo al usuario sin utilizar Doevents ?
Gracias
Last edited: