Realm 中的区分大小写过滤器

swa*_*ati 1 android realm

我想要一个我想在其中执行搜索的项目列表。我希望以区分大小写的顺序根据查询过滤项目。例如,如果用户搜索牛奶,订单应该是牛奶牛奶黄油牛奶黄油牛奶下面是我当前的查询,但由于我添加了 Case.Insesitive,它根据表中项目的位置给我任何随机顺序。

  mRealm.where(Product.class).contains("productTags.name", tag,Case.INSENSITIVE).findAll();
Run Code Online (Sandbox Code Playgroud)

Chr*_*ior 5

您需要使用findAllSorted,例如:

    realm.where(Product.class)
            .contains("productTags.name", tag, Case.INSENSITIVE)
            .findAllSorted("productTags.name", Sort.ASCENDING);
Run Code Online (Sandbox Code Playgroud)

但是排序将基于字符串的 ASCII 值,从外观上看,这对您来说还不够。在这种情况下,您需要使用Comparator