在领域基础适配器中排序领域结果?

时间:2015-11-29 16:28:20

标签: android list adapter realm base

在我的Android应用程序中,我使用realmBaseAdapter动态显示领域查询中的数据。我想知道是否有任何方法可以在适配器中对这些结果进行排序,以便我可以根据某些属性对它们进行分组。

1 个答案:

答案 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});

请参阅RealmQueryRealmResults的文档。

在使用之前,您不必每次都对结果进行排序。对结果进行排序后,即使数据库发生更改并且结果更新,也会对其进行排序。