在我的Android应用程序中,我使用realmBaseAdapter动态显示领域查询中的数据。我想知道是否有任何方法可以在适配器中对这些结果进行排序,以便我可以根据某些属性对它们进行分组。
答案 0 :(得分:1)
是的,你可以:)
你可以像这样构建你的RealmResults
:
RealmResults<User> results = realm.where(User.class).findAllSorted(
"name", RealmResults.SORT_ORDER_ASCENDING);
或者在构建之后对其进行排序:
RealmResults<User> result = realm.where(User.class).findAll();
result.sort("age"); // Sort ascending
result.sort("age", RealmResults.SORT_ORDER_DESCENDING);
您还可以按以下多个字段进行排序:
RealmResults<AllTypes> results = testRealm.where(AllTypes.class)
.findAllSorted(new String[]{"name", "age"},
new boolean[]{RealmResults.SORT_ORDER_ASCENDING,
RealmResults.SORT_ORDER_ASCENDING});
请参阅RealmQuery和RealmResults的文档。
在使用之前,您不必每次都对结果进行排序。对结果进行排序后,即使数据库发生更改并且结果更新,也会对其进行排序。