salve a tutta la comunity
ho un altro problemino
la mia applicazione usa delle MAP per tenere memoria
e salva le MAP per poterle caricare alla successiva apertura dell'app
ora se io vado a riordinare le varie coppie KEY/VALUE per poterle vedere nell'ordine da me scelto all'interno di una lista, finche il programma è in funzione la MAP è ordinata, ma quando vado a salvarla e poi ricaricarla l'ordine si perde, tornando l'ordine di creazione originario delle KEY/VALUE
a nulla serve creare una MAP di appoggio e reinizializare la MAP stessa
perche? dove sbaglio?
la routine che uso per spostare una determinata coppia KEY/VALUE (migliorabile lo so)
ho un altro problemino
la mia applicazione usa delle MAP per tenere memoria
e salva le MAP per poterle caricare alla successiva apertura dell'app
ora se io vado a riordinare le varie coppie KEY/VALUE per poterle vedere nell'ordine da me scelto all'interno di una lista, finche il programma è in funzione la MAP è ordinata, ma quando vado a salvarla e poi ricaricarla l'ordine si perde, tornando l'ordine di creazione originario delle KEY/VALUE
a nulla serve creare una MAP di appoggio e reinizializare la MAP stessa
perche? dove sbaglio?
la routine che uso per spostare una determinata coppia KEY/VALUE (migliorabile lo so)
B4X:
If Lpos>0 Then
K1=orari.GetKeyAt(Lpos)
K2=orari.GetkeyAt(Lpos-1)
V1=orari.GetvalueAt(Lpos)
V2=orari.GetvalueAt(Lpos-1)
appogio.Clear
Dim ii As Int
ii=0
Do Until (ii=(orari.Size))
If ii=(Lpos-1) Then
appogio.Put(K1,V1)
Else
If ii=Lpos Then
appogio.Put(K2,V2)
Else
appogio.Put(orari.GetKeyAt(ii),orari.GetValueAt(ii))
End If
End If
ii=ii+1
Loop
ii=0
orari.Clear
orari.Initialize
Do Until (ii=(appogio.Size))
orari.Put(appogio.GetKeyAt(ii),appogio.GetValueAt(ii))
ii=ii+1
Loop
End If