2017-11-28 1 views
-2

Jede Idee, wie man eine listview mit einer alpabetical Sortierung wie in Musik-Anwendung machen. Ich wollte eine Anwendung erstellen, die eine listview hat, die wie der Screenshot unten aussieht. Ich möchte der Benutzer gehen oder die Ansicht alphabetischListview mit alphabetischer Sortierung

enter image description here

+0

einfach die Liste/Array sortieren zu tun, um die 'Adapter' mit dem Standard-Backup Java-Sortiermethoden Welche Probleme hast du genau? –

+0

Ich weiß, wie zu sortieren, aber das Problem ist mit dem Design Ich wollte es wie in einer Standard-Musik-Anwendung wie was ive im Bild gezeigt –

+0

[link] (https://i.stack.imgur.com/1oyR6. png) @MikeM. –

Antwort

0

sortiert werden Wenn Sie die Musikspeicher auf dem Gerät zugreifen planen, es ist eigentlich sehr einfach. Es gibt einen ContentProvider, auf den Sie Medien wie Videos, Fotos und Musik abrufen können. Inhaltsanbieter legen einfach nur eine SQLite-Datenbank fest, was bedeutet, dass Sie auf die Medien basierend auf alphabetischer Reihenfolge von a-Z oder Z-a zugreifen können. Ich habe einen Youtube video series gemacht, der beschreibt, wie man so etwas macht, und ich habe den Code zu Github für jeden zu peruse hochgeladen. Wenn Sie den Code direkt anzeigen möchten, hier ist ein link, um Ihnen zu helfen.

Wenn Sie keine Medien wie Fotos, Videos oder Musik laden möchten, müssen Sie höchstwahrscheinlich das Dataset manuell sortieren, das in der ListView angezeigt werden soll. Wenn es sich um eine einfache String-Liste handelt, können Sie Collection.sort (Liste, String.CASE_INSENSITIVE_ORDER) verwenden. Wenn es sich nicht um eine einfache String-Liste handelt, kann der Sortieralgorithmus sehr komplex werden und würde definitiv den Rahmen dieser Antwort sprengen. Wenn Sie jedoch erneut etwas aus einer Datenbank abrufen, können Sie die Ergebnisse in der richtigen Reihenfolge basierend auf einem Wert oder einer Spalte zurückgeben.

+0

Ich habe mehr ein Problem mit der Ansicht oder das Layout selbst nicht mit dem Laden von Datensätzen zu der Adapter. Ich möchte es so aussehen lassen, dass der Indexer von aphabet rechts alphabetisch sortiert ist. –

+0

Der Picker auf der Seite sortiert die Daten nicht, sondern fungiert lediglich als Hilfsprogramm für den Sprung zu einem bestimmten Index in Ihrem Dataset. Die Daten sind bereits nach dem Zeitpunkt sortiert, zu dem sie angezeigt werden ... Lassen Sie mich noch einmal wiederholen: Wenn Sie einen der Buchstaben auswählen, springt der Listen-View einfach zum ersten Eintrag in seinem Datensatz, beginnend mit dem ausgewählten Buchstaben. –

+0

@ A.Bantero, ist Ihre Frage nicht das, was Sie wirklich beschrieben haben wollen. –

1

Wenn Sie nur das Listview sortieren Ich schlage vor, die Liste zu sortieren, die Sie Listview vorbei sind und dass die Verwendung

Collections.sort(list); 
Verwandte Themen