2016-04-13 12 views
9

mam około 20 wierszy w RealmResults i trzeba posortować listę z ostatnich terminówJak sortować RealmResults z datami recents?

RealmConfiguration realmConfig = new RealmConfiguration.Builder(getActivity()).build(); 
Realm realm = Realm.getInstance(realmConfig); 

jak poniżej

RealmResults<MyTable> List = realm.where(MyTable.class).findAll().sort("date",SORT.DESCENDING); 

Odpowiedz

21

To naprawdę dodaje.

RealmResults<MyTable> list = realm.where(MyTable.class) 
           .findAllSorted("date",Sort.DESCENDING); 

A ponieważ 4.3.x:

RealmResults<MyTable> list = realm.where(MyTable.class) 
         .sort("date",Sort.DESCENDING) 
         .findAll(); 
+0

muszę dodać wartości date jako takiego "06.12.2014" w tabela czy mogę używać samej klasy daty w sferze. –

+0

zgodnie z [dokumentacją] (https://realm.io/docs/java/latest/#field-types), Dziedzina obsługuje następujące typy pól: boolean, bajt, short, ìnt, long, float, double, String, ** Data ** i bajt []. Należy pamiętać, że 'Date' w Realm to ** second ** - precyzja, a nie * milisec * precyzja (obcina dane milisec, aby były kompatybilne z NSDate iOS). Jeśli potrzebujesz precyzji milisec, użyj 'long' i' date.getTime() '. – EpicPandaForce

+0

Nie chcę takiej dokładnej wartości. Mam format jako (rrrr-MM-dd GG: mm: ss) i trzeba sortować według daty. Jakie jest moje pytanie. Muszę zapisać datę jako (rrrr-MM-dd) i sortować malejąco? lub Konwertuj tę klasę na Date (rrrr-MM-dd) i zapisz ją w DB. –

1
realmResults.sort("Date", true); 

Works w wersji io.realm:realm-android:0.82.1