2017-12-20 3 views
0

Ich speichere die Bilder in einem App-spezifischen Ordner und wenn ich versuche, die Liste aller Bilder dieses Ordners zu holen und sie in einem Array speichern, die Reihenfolge Bilder, die ich bekomme, ist zufällig. Ich möchte die Liste der Bilder in der Reihenfolge, in der sie erstellt werden, d. H. Der neueste sollte oben stehen. Gibt es irgendeine Funktion, um das zu erreichen? Ich verwende diesen Code, um die Liste aller Dateien zu erhalten und sie in einem Array zu speichern.Android: Auflistung von Dateien in einem Verzeichnis ist zufällig

File[] listFile = downloadDir.listFiles(); 

Antwort

1

Sie können dieses Array immer sortieren, indem Sie die Sortiermethode mit einem Vergleicher aufrufen, der die Dateien anhand ihres Erstellungsdatums sortiert. Eine Möglichkeit, dies zu erreichen, wird hier erklärt: Best way to list files in Java, sorted by Date Modified?

+0

Ich habe noch einen Zweifel, die Reihenfolge des Bildes kommt jetzt richtig, sie sind nicht mehr zufällig. Aber immer noch sind die Bilder in umgekehrter Reihenfolge, d. H. Das älteste Bild kommt zuerst und das jüngste kommt zuletzt. Wie kann ich es ändern, damit ich das späteste Bild zuerst erhalten kann? – Kunal

+0

Wenn Sie den Code aus dem Post verwendet haben, den ich verlinkt habe, müssen Sie die Reihenfolge der verglichenen Objekte einfach umkehren. Also anstelle von 'public int compare (Datei f1, Datei f2) { Rückgabe Long.valueOf (f1.lastModified()). CompareTo (f2.lastModified()); } 'Sie schreiben' public int compare (Datei f1, Datei f2) { Rückgabe Long.valueOf (f2.lastModified()). CompareTo (f1.lastModified()); ' –

+0

Es hat funktioniert. Danke vielmals :) – Kunal

Verwandte Themen