android - 在 Realm 数据库中过滤 - findAll 不适用于包含 boolean 值的查询

标签 android filter boolean realm

我有一个 Realm 数据库,其中包含具有一个 boolean 属性的对象。在整个应用程序中,我需要过滤一次数据库的所有内容,这完全没问题。

在另一个 Activity 中,我只需要过滤数据库中 boolean 值设置为 true 的对象。但它不起作用,它仍然过滤所有对象。

你能检查我的代码并试着告诉我我做错了什么吗?

favourites = realm.where(MyObject.class).equalTo("isFavourite", true).findAll();

editTextSearch.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if (favourites.isEmpty()) {
                return;
            }
            adapter = new ImageAdapter(FavouritesActivity.this, helper.searchInFavourites(s));
            gridView.setAdapter(adapter);
        }
}


OrderedRealmCollection<MyObject> searchInFavourites(CharSequence search) {
    OrderedRealmCollection<MyObject> favourites;
    if (search != null && search.length() > 0) {
        favourites = realm.where(MyObject.class).equalTo("isFavourite", true)
                .contains("name", search.toString(), Case.INSENSITIVE)
                .or()
                .contains("category", search.toString(), Case.INSENSITIVE)
                .or()
                .contains("description", search.toString(), Case.INSENSITIVE).findAll();
    } else {
        favourites = realm.where(Illusion.class).equalTo("isFavourite", true).findAll();
    }
    return favourites;
}

最佳答案

favourites = realm.where(MyObject.class)
            .beginGroup() // <--
            .equalTo("isFavourite", true)
            .endGroup() // <--
            .beginGroup() // <--
            .contains("name", search.toString(), Case.INSENSITIVE)
            .or()
            .contains("category", search.toString(), Case.INSENSITIVE)
            .or()
            .contains("description", search.toString(), Case.INSENSITIVE)
            .endGroup() // <--
            .findAll();

关于android - 在 Realm 数据库中过滤 - findAll 不适用于包含 boolean 值的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43831744/

相关文章:

android - 无法让 getLastLocation 方法在 Android Studio 中工作

Android "DataDroid"示例库 - 使用现有库多次调用 WS

python - scipy.ndimage.filters.convolve - 沿不同轴的不同模式?

Python scipy.signal.remez 高通滤波器设计产生奇怪的传递函数

c# - 有没有办法在 C# 中切换 boolean 变量?

python - 在 python 3.6 中定义函数并期望 True 或 False 但返回 None

android - 如何仅为经过开发人员身份验证的开发人员集成 AWS Cognito?

android - Lollipop 应用程序的透明导航栏?

sql - Oracle SQL - 过滤掉包含具有特定值的行的分区或行组

javascript - 为什么 boolean 值 false 小于 boolean 值 true?