Muß das Array unbedingt sortiert sein?
Speicher einfach nur in ListItem.Data den Index vom zugehörigem Array-Eintrag.
Wenn nun von der Listview auf das Array zugegriffen wird, dann nutzt du den gespeicherten Index und nicht den Index des Items.
Selbst wenn nun Array und ListView unterschiedlich sortiert sind, bereitet dieses keine Probleme mehr.
PS: Es hat so auch noch andere Vorteile:
- die Daten sind mehr von der
GUI getrennt
- man könnte die ListView-Einträge filtern (es müssen nicht alle Array-Einträge angezeigt werden)
- ...