我想要一个我想在其中执行搜索的项目列表。我希望以区分大小写的顺序根据查询过滤项目。例如,如果用户搜索牛奶,订单应该是牛奶牛奶黄油牛奶黄油牛奶下面是我当前的查询,但由于我添加了 Case.Insesitive,它根据表中项目的位置给我任何随机顺序。
mRealm.where(Product.class).contains("productTags.name", tag,Case.INSENSITIVE).findAll();
Run Code Online (Sandbox Code Playgroud)
您需要使用findAllSorted,例如:
realm.where(Product.class)
.contains("productTags.name", tag, Case.INSENSITIVE)
.findAllSorted("productTags.name", Sort.ASCENDING);
Run Code Online (Sandbox Code Playgroud)
但是排序将基于字符串的 ASCII 值,从外观上看,这对您来说还不够。在这种情况下,您需要使用Comparator