Wie sortiere ich Strings in einem Android RecyclerView?

8

Ich habe eine RecyclerView voller CardViews, die 2 Parameter haben (Beide sind Strings), einer davon ist ein Titel, ich hätte gerne einen Button, um sie alphabetisch nach dem Titel zu sortieren.

Da es nicht zu viele Elemente hat, habe ich mich entschieden, die Einfügesortierung zu verwenden, die o (n ^ 2) ist und dies ist meine Implementierung:

%Vor%

Es braucht ein Array von Strings und ordnet sie an.

Und das ist die Methode meines RecyclerView, die die Parameter verwendet:

%Vor%

Ich denke, dass ich diesen ersten Parameter an ein String Array übergeben und dann sortieren muss.

Die Idee besteht darin, die Sortiermethode in einer Schaltfläche in derselben Aktivität zu haben, in der die RecyclerView angezeigt wird. Wenn sie gedrückt wird, müsste sie sortiert werden, ohne zu einer anderen Aktivität zu wechseln.

Ich bin hier irgendwie verloren.

Im Resümee versuche ich, einen Button zu haben, der die Elemente (in diesem Fall CardViews) eines RecyclerViews alphabetisch auf der Grundlage des "Titel" -Parameters anordnet.

Ist meine Idee richtig, haben Sie einen anderen Weg, dies zu tun, oder was soll ich tun, um dies zu erreichen?

Tausend Dank.

    
Sebastian Delgado 06.09.2015, 01:19
quelle

1 Antwort

21

Der einfachste Weg zum Sortieren einer Liste ist die Verwendung von java.util.Collections

%Vor%

Dies wird den Titel Zeichen für Zeichen vergleichen. und sortiert Ihre Liste von A bis Z.

Vergessen Sie nach der Änderung nicht, die Liste zu ändern, dass sich die Daten mit notifyDataSetChanged() (von Ihrem RecyclerView.Adapter ) geändert haben.

    
xiaomi 06.09.2015, 01:50
quelle