Проверка Android, Realm, Kotlin В RealmObject есть переменная соответствия полей, установите ключ RealmObject с помощью переменной - PullRequest
0 голосов
/ 23 января 2019

Итак, у меня есть логические значения в SharedPreferences в Android.

Я хочу условно обновить логические значения в моем экземпляре Realm в приемнике onPreferenceChanged.Некоторые из логических значений совпадают в объекте Realm, некоторые нет.

Я хотел бы увидеть, есть ли у RealmObject ключ, соответствующий ключу предпочтения, и, если это так, обновить RealmObject со значением предпочтения..

Вот код

private val booleanBindPreferenceSummaryToValueListener = Preference.OnPreferenceChangeListener { preference, value ->

    //log the preference change
    Log.d(TAG, "onBooleanPreferenceChanged: ${preference.key}: $value")
    //open the instance of Realm so we can update changes to the user object and have the information on the server
    val realm = Realm.getDefaultInstance()
    //get the userID from globals
    val userID = Globals.read("UserID", "")
    //make sure that the User ID is not null or blank
    if (!userID.isNullOrBlank()){
       //query the Realm database to get our instance of the user
       val user = realm.where<User>().equalTo("platformUserID", userID).findFirst()!!
       //find out if this particular boolean value is saved to the Realm object    

       //TO DO

    }
    realm.close()
    true

}

В JavaScript я бы просто перечислил ключи объекта и отфильтровал массив для любых совпадений, тогда я мог бы написать что-то вроде

if (соответствует.some === true) пользователь [preference.key] = preference.value

Я новичок в Kotlin, но я подумал, что это должно быть легко.Это ускользает от меня в данный момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...