Array nach Vorgaben sortieren

  • Array nach Vorgaben sortieren

    Hi,

    ich will ein Array, das ich per JSON von einem Host erhalte, in der GUI sortierbar machen. Mein Problem ist, dass ich die Sortierung irgendwo lokal hinterlegen will.
    Die Daten des JSON können sich in jeder Abfrage ändern. Heißt es können sie Inhalte verändern aber auch Elemente hinzukommen oder verschwinden. Deswegen will ich die eigentlichen Daten nicht in einer lokalen DB hinterlegen.
    Also möchte ich mir nur zusätzliches Array hinterlegen, in dem ich den eindeutigen Bezeichner für das Element aus dem JSON und den Index innerhalb der Table festhalten will. Aber irgendwie finde ich dafür nicht den richtigen Ansatz, damit ich hinterher die Table wieder passend sortiert bekommen. Hat einer eine gute Idee für mich?

    Gruß Dieter
  • Hallo,

    Also möchte ich mir nur zusätzliches Array hinterlegen, in dem ich den eindeutigen Bezeichner für das Element aus dem JSON und den Index innerhalb der Table festhalten will.

    Eine lokale Datenbank willst Du nicht - aber das ist letztendlich das Gleiche nur anders… :D

    Du mußt Dir nicht das Sortierergebnis sichern, sondern das Kriterium. Also z.B. Name alphabetisch aufsteigend, oder was auch immer.
    Dieses Kriterium merkst Du Dir und wendest es dann auf Deinen neuen Inhalt an.

    Viele Grüße
  • Die Elemente haben ja eine eindeutige ID (ist ein Int).
    Ich hatte mir das so vorgestellt, dass ich mir ein Array[Int] erstelle (das soll dann später lokal gesichert werden).
    Dieses Array soll dann immer so groß sein, wie die Anzahl der Elemente aus dem JSON, und hält die ID des jeweiligen Elements. Damit hätte ich die Reihenfolge.

    Beim erstmaligen Abrufen könnte ich ja auch diese Sortierungsarray erstellen und füllen. Auch das ist kein Problem.
    Meine Schwierigkeit ist wie ich das sinnvoll realisieren könnte, wenn der JSON erneut abgerufen werden könnte. Ich muss ja erkenne, ob und welches Element, das ja in meinem Sortierungsarray als ID noch vorhanden ist, eventuell jetzt im JSON nicht mehr da ist, bzw. das Sortierungsarray um neu hinzugekommene Elemente erweitern und gleichzeitig mein Daten Array passend sortieren.
    Ich habe nur keine wirkliche Idee, wie ich das im Code umsetzen könnte.
  • du speicherst dir lokal eine liste. mit zb den ids [13, 25, 7].
    Wenn du dann die objekte vom server holst, weißt du dem objekt mit der ID 13 die sort-prio 0 zu, dem objekt mit der id 25 die sort-prio 1 und derm objekt mit der id 7 die sort-prio 2 zu.
    Dann sortierst du anhand der sort-prios.

    einen ansatz für elmente die neu hinzugekommen sind hab ich ja oben schon genannt.