переназначить переменную для нового запроса в Realm - PullRequest
0 голосов
/ 26 апреля 2020

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

 private var singleVendor: SingleVendor? = null

     fun subscribeToVendor(
        liveData: MutableLiveData<SingleVendor>,
        id: Int
    ) {
        singleVendor?.removeAllChangeListeners()
        val singleVendor = getRealm().where(SingleVendor::class.java).equalTo("id", id).findFirstAsync()
        singleVendor?.addChangeListener<SingleVendor> { _ ->
            liveData.value = singleVendor
        }    
    }

Это необходимо для VendorFragment, когда кто-то нажимает на поставщика в списке, я хотел бы получить указанные c данные о поставщике и обновить его с помощью VendorFragment. , Но когда я пытаюсь вызвать этот метод снова, singleVendor становится недействительным. Я использую LiveData здесь, потому что я хотел бы инкапсулировать Realm.

Я что-то упустил? Есть ли образец для этого? Заранее спасибо!

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